Zendog V3 backtest DCA bot 3commasMAJOR UPDATE:
- Update to Pinescript v5
- MAJOR refactor for the logic of how orders are placed. BO order is placed when the condition is first encountered and we are not in a deal.
The extra SO orders (if based on price movement) are all placed on the next candle after BO order, instead of each being placed one after another.
Take profit (if percentage) and Stop loss are placed on the first candle after BO order because if BO and TP are on the same candle TV does not execute properly.
These changes should improve strategy accuracy when multiple prices are hit by the same candle.
- NEW FEATURE: Support to Stop deal using an external indicator (i.e. stop long deal when RSI > 80)
- NEW FEATURE: Support to trigger Safety orders using an external indicator (i.e. trigger each additional SO when RSI < 10, regardless of price movement)
The price movement logic may be implemented in the indicator that plots start / end signals. The SO size is calculated using the configuration of steps.
- NEW FEATURE: Safety order command for 3commas bot. This is implemented using Add funds in the quote currency (for pair BTCUSDT the quote currency is USDT)
The SO size is calculated using the configuration of steps, for exact order size (and price) use the built-in Steps table.
- NEW FEATURE: Addition of extra columns to the steps table: Required price for TP, Required % change for TP, Required % change for BEP (Breakeven point)
- Update to steps table to remove prices when Safety orders are not based on % price change
- The code is opensource. I will not be able to sustain merges for the script, but feel free to use and develop your own version and ping me on discord to review them
and maybe include in the original script
在脚本中搜索" TABLE "
Hellenic EMA Matrix - Α Ω PremiumHellenic EMA Matrix - Alpha Omega Premium
Complete User Guide
Table of Contents
Introduction
Indicator Philosophy
Mathematical Constants
EMA Types
Settings
Trading Signals
Visualization
Usage Strategies
FAQ
Introduction
Hellenic EMA Matrix is a premium indicator based on mathematical constants of nature: Phi (Phi - Golden Ratio), Pi (Pi), e (Euler's number). The indicator uses these universal constants to create dynamic EMAs that adapt to the natural rhythms of the market.
Key Features:
6 EMA types based on mathematical constants
Premium visualization with Neon Glow and Gradient Clouds
Automatic Fast/Mid/Slow EMA sorting
STRONG signals for powerful trends
Pulsing Ribbon Bar for instant trend assessment
Works on all timeframes (M1 - MN)
Indicator Philosophy
Why Mathematical Constants?
Traditional EMAs use arbitrary periods (9, 21, 50, 200). Hellenic Matrix goes further, using universal mathematical constants found in nature:
Phi (1.618) - Golden Ratio: galaxy spirals, seashells, human body proportions
Pi (3.14159) - Pi: circles, waves, cycles
e (2.71828) - Natural logarithm base: exponential growth, radioactive decay
Markets are also a natural system composed of millions of participants. Using mathematical constants allows tuning into the natural rhythms of market cycles.
Mathematical Constants
Phi (Phi) - Golden Ratio
Phi = 1.618033988749895
Properties:
Phi² = Phi + 1 = 2.618
Phi³ = 4.236
Phi⁴ = 6.854
Application: Ideal for trending movements and Fibonacci corrections
Pi (Pi) - Pi Number
Pi = 3.141592653589793
Properties:
2Pi = 6.283 (full circle)
3Pi = 9.425
4Pi = 12.566
Application: Excellent for cyclical markets and wave structures
e (Euler) - Euler's Number
e = 2.718281828459045
Properties:
e² = 7.389
e³ = 20.085
e⁴ = 54.598
Application: Suitable for exponential movements and volatile markets
EMA Types
1. Phi (Phi) - Golden Ratio EMA
Description: EMA based on the golden ratio
Period Formula:
Period = Phi^n × Base Multiplier
Parameters:
Phi Power Level (1-8): Power of Phi
Phi¹ = 1.618 → ~16 period (with Base=10)
Phi² = 2.618 → ~26 period
Phi³ = 4.236 → ~42 period (recommended)
Phi⁴ = 6.854 → ~69 period
Recommendations:
Phi² or Phi³ for day trading
Phi⁴ or Phi⁵ for swing trading
Works excellently as Fast EMA
2. Pi (Pi) - Circular EMA
Description: EMA based on Pi for cyclical movements
Period Formula:
Period = Pi × Multiple × Base Multiplier
Parameters:
Pi Multiple (1-10): Pi multiplier
1Pi = 3.14 → ~31 period (with Base=10)
2Pi = 6.28 → ~63 period (recommended)
3Pi = 9.42 → ~94 period
Recommendations:
2Pi ideal as Mid or Slow EMA
Excellently identifies cycles and waves
Use on volatile markets (crypto, forex)
3. e (Euler) - Natural EMA
Description: EMA based on natural logarithm
Period Formula:
Period = e^n × Base Multiplier
Parameters:
e Power Level (1-6): Power of e
e¹ = 2.718 → ~27 period (with Base=10)
e² = 7.389 → ~74 period (recommended)
e³ = 20.085 → ~201 period
Recommendations:
e² works excellently as Slow EMA
Ideal for stocks and indices
Filters noise well on lower timeframes
4. Delta (Delta) - Adaptive EMA
Description: Adaptive EMA that changes period based on volatility
Period Formula:
Period = Base Period × (1 + (Volatility - 1) × Factor)
Parameters:
Delta Base Period (5-200): Base period (default 20)
Delta Volatility Sensitivity (0.5-5.0): Volatility sensitivity (default 2.0)
How it works:
During low volatility → period decreases → EMA reacts faster
During high volatility → period increases → EMA smooths noise
Recommendations:
Works excellently on news and sharp movements
Use as Fast EMA for quick adaptation
Sensitivity 2.0-3.0 for crypto, 1.0-2.0 for stocks
5. Sigma (Sigma) - Composite EMA
Description: Composite EMA combining multiple active EMAs
Composition Methods:
Weighted Average (default):
Sigma = (Phi + Pi + e + Delta) / 4
Simple average of all active EMAs
Geometric Mean:
Sigma = fourth_root(Phi × Pi × e × Delta)
Geometric mean (more conservative)
Harmonic Mean:
Sigma = 4 / (1/Phi + 1/Pi + 1/e + 1/Delta)
Harmonic mean (more weight to smaller values)
Recommendations:
Enable for additional confirmation
Use as Mid EMA
Weighted Average - most universal method
6. Lambda (Lambda) - Wave EMA
Description: Wave EMA with sinusoidal period modulation
Period Formula:
Period = Base Period × (1 + Amplitude × sin(2Pi × bar / Frequency))
Parameters:
Lambda Base Period (10-200): Base period
Lambda Wave Amplitude (0.1-2.0): Wave amplitude
Lambda Wave Frequency (10-200): Wave frequency in bars
How it works:
Period pulsates sinusoidally
Creates wave effect following market cycles
Recommendations:
Experimental EMA for advanced users
Works well on cyclical markets
Frequency = 50 for day trading, 100+ for swing
Settings
Matrix Core Settings
Base Multiplier (1-100)
Multiplies all EMA periods
Base = 1: Very fast EMAs (Phi³ = 4, 2Pi = 6, e² = 7)
Base = 10: Standard (Phi³ = 42, 2Pi = 63, e² = 74)
Base = 20: Slow EMAs (Phi³ = 85, 2Pi = 126, e² = 148)
Recommendations by timeframe:
M1-M5: Base = 5-10
M15-H1: Base = 10-15 (recommended)
H4-D1: Base = 15-25
W1-MN: Base = 25-50
Matrix Source
Data source selection for EMA calculation:
close - closing price (standard)
open - opening price
high - high
low - low
hl2 - (high + low) / 2
hlc3 - (high + low + close) / 3
ohlc4 - (open + high + low + close) / 4
When to change:
hlc3 or ohlc4 for smoother signals
high for aggressive longs
low for aggressive shorts
Manual EMA Selection
Critically important setting! Determines which EMAs are used for signal generation.
Use Manual Fast/Slow/Mid Selection
Enabled (default): You select EMAs manually
Disabled: Automatic selection by periods
Fast EMA
Fast EMA - reacts first to price changes
Recommendations:
Phi Golden (recommended) - universal choice
Delta Adaptive - for volatile markets
Must be fastest (smallest period)
Slow EMA
Slow EMA - determines main trend
Recommendations:
Pi Circular (recommended) - excellent trend filter
e Natural - for smoother trend
Must be slowest (largest period)
Mid EMA
Mid EMA - additional signal filter
Recommendations:
e Natural (recommended) - excellent middle level
Pi Circular - alternative
None - for more frequent signals (only 2 EMAs)
IMPORTANT: The indicator automatically sorts selected EMAs by their actual periods:
Fast = EMA with smallest period
Mid = EMA with middle period
Slow = EMA with largest period
Therefore, you can select any combination - the indicator will arrange them correctly!
Premium Visualization
Neon Glow
Enable Neon Glow for EMAs - adds glowing effect around EMA lines
Glow Strength:
Light - subtle glow
Medium (recommended) - optimal balance
Strong - bright glow (may be too bright)
Effect: 2 glow layers around each EMA for 3D effect
Gradient Clouds
Enable Gradient Clouds - fills space between EMAs with gradient
Parameters:
Cloud Transparency (85-98): Cloud transparency
95-97 (recommended)
Higher = more transparent
Dynamic Cloud Intensity - automatically changes transparency based on EMA distance
Cloud Colors:
Phi-Pi Cloud:
Blue - when Pi above Phi (bullish)
Gold - when Phi above Pi (bearish)
Pi-e Cloud:
Green - when e above Pi (bullish)
Blue - when Pi above e (bearish)
2 layers for volumetric effect
Pulsing Ribbon Bar
Enable Pulsing Indicator Bar - pulsing strip at bottom/top of chart
Parameters:
Ribbon Position: Top / Bottom (recommended)
Pulse Speed: Slow / Medium (recommended) / Fast
Symbols and colors:
Green filled square - STRONG BULLISH
Pink filled square - STRONG BEARISH
Blue hollow square - Bullish (regular)
Red hollow square - Bearish (regular)
Purple rectangle - Neutral
Effect: Pulsation with sinusoid for living market feel
Signal Bar Highlights
Enable Signal Bar Highlights - highlights bars with signals
Parameters:
Highlight Transparency (88-96): Highlight transparency
Highlight Style:
Light Fill (recommended) - bar background fill
Thin Line - bar outline only
Highlights:
Golden Cross - green
Death Cross - pink
STRONG BUY - green
STRONG SELL - pink
Show Greek Labels
Shows Greek alphabet letters on last bar:
Phi - Phi EMA (gold)
Pi - Pi EMA (blue)
e - Euler EMA (green)
Delta - Delta EMA (purple)
Sigma - Sigma EMA (pink)
When to use: For education or presentations
Show Old Background
Old background style (not recommended):
Green background - STRONG BULLISH
Pink background - STRONG BEARISH
Blue background - Bullish
Red background - Bearish
Not recommended - use new Gradient Clouds and Pulsing Bar
Info Table
Show Info Table - table with indicator information
Parameters:
Position: Top Left / Top Right (recommended) / Bottom Left / Bottom Right
Size: Tiny / Small (recommended) / Normal / Large
Table contents:
EMA list - periods and current values of all active EMAs
Effects - active visual effects
TREND - current trend state:
STRONG UP - strong bullish
STRONG DOWN - strong bearish
Bullish - regular bullish
Bearish - regular bearish
Neutral - neutral
Momentum % - percentage deviation of price from Fast EMA
Setup - current Fast/Slow/Mid configuration
Trading Signals
Show Golden/Death Cross
Golden Cross - Fast EMA crosses Slow EMA from below (bullish signal) Death Cross - Fast EMA crosses Slow EMA from above (bearish signal)
Symbols:
Yellow dot "GC" below - Golden Cross
Dark red dot "DC" above - Death Cross
Show STRONG Signals
STRONG BUY and STRONG SELL - the most powerful indicator signals
Conditions for STRONG BULLISH:
EMA Alignment: Fast > Mid > Slow (all EMAs aligned)
Trend: Fast > Slow (clear uptrend)
Distance: EMAs separated by minimum 0.15%
Price Position: Price above Fast EMA
Fast Slope: Fast EMA rising
Slow Slope: Slow EMA rising
Mid Trending: Mid EMA also rising (if enabled)
Conditions for STRONG BEARISH:
Same but in reverse
Visual display:
Green label "STRONG BUY" below bar
Pink label "STRONG SELL" above bar
Difference from Golden/Death Cross:
Golden/Death Cross = crossing moment (1 bar)
STRONG signal = sustained trend (lasts several bars)
IMPORTANT: After fixes, STRONG signals now:
Work on all timeframes (M1 to MN)
Don't break on small retracements
Work with any Fast/Mid/Slow combination
Automatically adapt thanks to EMA sorting
Show Stop Loss/Take Profit
Automatic SL/TP level calculation on STRONG signal
Parameters:
Stop Loss (ATR) (0.5-5.0): ATR multiplier for stop loss
1.5 (recommended) - standard
1.0 - tight stop
2.0-3.0 - wide stop
Take Profit R:R (1.0-5.0): Risk/reward ratio
2.0 (recommended) - standard (risk 1.5 ATR, profit 3.0 ATR)
1.5 - conservative
3.0-5.0 - aggressive
Formulas:
LONG:
Stop Loss = Entry - (ATR × Stop Loss ATR)
Take Profit = Entry + (ATR × Stop Loss ATR × Take Profit R:R)
SHORT:
Stop Loss = Entry + (ATR × Stop Loss ATR)
Take Profit = Entry - (ATR × Stop Loss ATR × Take Profit R:R)
Visualization:
Red X - Stop Loss
Green X - Take Profit
Levels remain active while STRONG signal persists
Trading Signals
Signal Types
1. Golden Cross
Description: Fast EMA crosses Slow EMA from below
Signal: Beginning of bullish trend
How to trade:
ENTRY: On bar close with Golden Cross
STOP: Below local low or below Slow EMA
TARGET: Next resistance level or 2:1 R:R
Strengths:
Simple and clear
Works well on trending markets
Clear entry point
Weaknesses:
Lags (signal after movement starts)
Many false signals in ranging markets
May be late on fast moves
Optimal timeframes: H1, H4, D1
2. Death Cross
Description: Fast EMA crosses Slow EMA from above
Signal: Beginning of bearish trend
How to trade:
ENTRY: On bar close with Death Cross
STOP: Above local high or above Slow EMA
TARGET: Next support level or 2:1 R:R
Application: Mirror of Golden Cross
3. STRONG BUY
Description: All EMAs aligned + trend + all EMAs rising
Signal: Powerful bullish trend
How to trade:
ENTRY: On bar close with STRONG BUY or on pullback to Fast EMA
STOP: Below Fast EMA or automatic SL (if enabled)
TARGET: Automatic TP (if enabled) or by levels
TRAILING: Follow Fast EMA
Entry strategies:
Aggressive: Enter immediately on signal
Conservative: Wait for pullback to Fast EMA, then enter on bounce
Pyramiding: Add positions on pullbacks to Mid EMA
Position management:
Hold while STRONG signal active
Exit on STRONG SELL or Death Cross appearance
Move stop behind Fast EMA
Strengths:
Most reliable indicator signal
Doesn't break on pullbacks
Catches large moves
Works on all timeframes
Weaknesses:
Appears less frequently than other signals
Requires confirmation (multiple conditions)
Optimal timeframes: All (M5 - D1)
4. STRONG SELL
Description: All EMAs aligned down + downtrend + all EMAs falling
Signal: Powerful bearish trend
How to trade: Mirror of STRONG BUY
Visual Signals
Pulsing Ribbon Bar
Quick market assessment at a glance:
Symbol Color State
Filled square Green STRONG BULLISH
Filled square Pink STRONG BEARISH
Hollow square Blue Bullish
Hollow square Red Bearish
Rectangle Purple Neutral
Pulsation: Sinusoidal, creates living effect
Signal Bar Highlights
Bars with signals are highlighted:
Green highlight: STRONG BUY or Golden Cross
Pink highlight: STRONG SELL or Death Cross
Gradient Clouds
Colored space between EMAs shows trend strength:
Wide clouds - strong trend
Narrow clouds - weak trend or consolidation
Color change - trend change
Info Table
Quick reference in corner:
TREND: Current state (STRONG UP, Bullish, Neutral, Bearish, STRONG DOWN)
Momentum %: Movement strength
Effects: Active visual effects
Setup: Fast/Slow/Mid configuration
Usage Strategies
Strategy 1: "Golden Trailing"
Idea: Follow STRONG signals using Fast EMA as trailing stop
Settings:
Fast: Phi Golden (Phi³)
Mid: Pi Circular (2Pi)
Slow: e Natural (e²)
Base Multiplier: 10
Timeframe: H1, H4
Entry rules:
Wait for STRONG BUY
Enter on bar close or on pullback to Fast EMA
Stop below Fast EMA
Management:
Hold position while STRONG signal active
Move stop behind Fast EMA daily
Exit on STRONG SELL or Death Cross
Take Profit:
Partially close at +2R
Trail remainder until exit signal
For whom: Swing traders, trend followers
Pros:
Catches large moves
Simple rules
Emotionally comfortable
Cons:
Requires patience
Possible extended drawdowns on pullbacks
Strategy 2: "Scalping Bounces"
Idea: Scalp bounces from Fast EMA during STRONG trend
Settings:
Fast: Delta Adaptive (Base 15, Sensitivity 2.0)
Mid: Phi Golden (Phi²)
Slow: Pi Circular (2Pi)
Base Multiplier: 5
Timeframe: M5, M15
Entry rules:
STRONG signal must be active
Wait for price pullback to Fast EMA
Enter on bounce (candle closes above/below Fast EMA)
Stop behind local extreme (15-20 pips)
Take Profit:
+1.5R or to Mid EMA
Or to next level
For whom: Active day traders
Pros:
Many signals
Clear entry point
Quick profits
Cons:
Requires constant monitoring
Not all bounces work
Requires discipline for frequent trading
Strategy 3: "Triple Filter"
Idea: Enter only when all 3 EMAs and price perfectly aligned
Settings:
Fast: Phi Golden (Phi³)
Mid: e Natural (e²)
Slow: Pi Circular (3Pi)
Base Multiplier: 15
Timeframe: H4, D1
Entry rules (LONG):
STRONG BUY active
Price above all three EMAs
Fast > Mid > Slow (all aligned)
All EMAs rising (slope up)
Gradient Clouds wide and bright
Entry:
On bar close meeting all conditions
Or on next pullback to Fast EMA
Stop:
Below Mid EMA or -1.5 ATR
Take Profit:
First target: +3R
Second target: next major level
Trailing: Mid EMA
For whom: Conservative swing traders, investors
Pros:
Very reliable signals
Minimum false entries
Large profit potential
Cons:
Rare signals (2-5 per month)
Requires patience
Strategy 4: "Adaptive Scalper"
Idea: Use only Delta Adaptive EMA for quick volatility reaction
Settings:
Fast: Delta Adaptive (Base 10, Sensitivity 3.0)
Mid: None
Slow: Delta Adaptive (Base 30, Sensitivity 2.0)
Base Multiplier: 3
Timeframe: M1, M5
Feature: Two different Delta EMAs with different settings
Entry rules:
Golden Cross between two Delta EMAs
Both Delta EMAs must be rising/falling
Enter on next bar
Stop:
10-15 pips or below Slow Delta EMA
Take Profit:
+1R to +2R
Or Death Cross
For whom: Scalpers on cryptocurrencies and forex
Pros:
Instant volatility adaptation
Many signals on volatile markets
Quick results
Cons:
Much noise on calm markets
Requires fast execution
High commissions may eat profits
Strategy 5: "Cyclical Trader"
Idea: Use Pi and Lambda for trading cyclical markets
Settings:
Fast: Pi Circular (1Pi)
Mid: Lambda Wave (Base 30, Amplitude 0.5, Frequency 50)
Slow: Pi Circular (3Pi)
Base Multiplier: 10
Timeframe: H1, H4
Entry rules:
STRONG signal active
Lambda Wave EMA synchronized with trend
Enter on bounce from Lambda Wave
For whom: Traders of cyclical assets (some altcoins, commodities)
Pros:
Catches cyclical movements
Lambda Wave provides additional entry points
Cons:
More complex to configure
Not for all markets
Lambda Wave may give false signals
Strategy 6: "Multi-Timeframe Confirmation"
Idea: Use multiple timeframes for confirmation
Scheme:
Higher TF (D1): Determine trend direction (STRONG signal)
Middle TF (H4): Wait for STRONG signal in same direction
Lower TF (M15): Look for entry point (Golden Cross or bounce from Fast EMA)
Settings for all TFs:
Fast: Phi Golden (Phi³)
Mid: e Natural (e²)
Slow: Pi Circular (2Pi)
Base Multiplier: 10
Rules:
All 3 TFs must show one trend
Entry on lower TF
Stop by lower TF
Target by higher TF
For whom: Serious traders and investors
Pros:
Maximum reliability
Large profit targets
Minimum false signals
Cons:
Rare setups
Requires analysis of multiple charts
Experience needed
Practical Tips
DOs
Use STRONG signals as primary - they're most reliable
Let signals develop - don't exit on first pullback
Use trailing stop - follow Fast EMA
Combine with levels - S/R, Fibonacci, volumes
Test on demo before real
Adjust Base Multiplier for your timeframe
Enable visual effects - they help see the picture
Use Info Table - quick situation assessment
Watch Pulsing Bar - instant state indicator
Trust auto-sorting of Fast/Mid/Slow
DON'Ts
Don't trade against STRONG signal - trend is your friend
Don't ignore Mid EMA - it adds reliability
Don't use too small Base Multiplier on higher TFs
Don't enter on Golden Cross in range - check for trend
Don't change settings during open position
Don't forget risk management - 1-2% per trade
Don't trade all signals in row - choose best ones
Don't use indicator in isolation - combine with Price Action
Don't set too tight stops - let trade breathe
Don't over-optimize - simplicity = reliability
Optimal Settings by Asset
US Stocks (SPY, AAPL, TSLA)
Recommendation:
Fast: Phi Golden (Phi³)
Mid: e Natural (e²)
Slow: Pi Circular (2Pi)
Base: 10-15
Timeframe: H4, D1
Features:
Use on daily for swing
STRONG signals very reliable
Works well on trending stocks
Forex (EUR/USD, GBP/USD)
Recommendation:
Fast: Delta Adaptive (Base 15, Sens 2.0)
Mid: Phi Golden (Phi²)
Slow: Pi Circular (2Pi)
Base: 8-12
Timeframe: M15, H1, H4
Features:
Delta Adaptive works excellently on news
Many signals on M15-H1
Consider spreads
Cryptocurrencies (BTC, ETH, altcoins)
Recommendation:
Fast: Delta Adaptive (Base 10, Sens 3.0)
Mid: Pi Circular (2Pi)
Slow: e Natural (e²)
Base: 5-10
Timeframe: M5, M15, H1
Features:
High volatility - adaptation needed
STRONG signals can last days
Be careful with scalping on M1-M5
Commodities (Gold, Oil)
Recommendation:
Fast: Pi Circular (1Pi)
Mid: Phi Golden (Phi³)
Slow: Pi Circular (3Pi)
Base: 12-18
Timeframe: H4, D1
Features:
Pi works excellently on cyclical commodities
Gold responds especially well to Phi
Oil volatile - use wide stops
Indices (S&P500, Nasdaq, DAX)
Recommendation:
Fast: Phi Golden (Phi³)
Mid: e Natural (e²)
Slow: Pi Circular (2Pi)
Base: 15-20
Timeframe: H4, D1, W1
Features:
Very trending instruments
STRONG signals last weeks
Good for position trading
Alerts
The indicator supports 6 alert types:
1. Golden Cross
Message: "Hellenic Matrix: GOLDEN CROSS - Fast EMA crossed above Slow EMA - Bullish trend starting!"
When: Fast EMA crosses Slow EMA from below
2. Death Cross
Message: "Hellenic Matrix: DEATH CROSS - Fast EMA crossed below Slow EMA - Bearish trend starting!"
When: Fast EMA crosses Slow EMA from above
3. STRONG BULLISH
Message: "Hellenic Matrix: STRONG BULLISH SIGNAL - All EMAs aligned for powerful uptrend!"
When: All conditions for STRONG BUY met (first bar)
4. STRONG BEARISH
Message: "Hellenic Matrix: STRONG BEARISH SIGNAL - All EMAs aligned for powerful downtrend!"
When: All conditions for STRONG SELL met (first bar)
5. Bullish Ribbon
Message: "Hellenic Matrix: BULLISH RIBBON - EMAs aligned for uptrend"
When: EMAs aligned bullish + price above Fast EMA (less strict condition)
6. Bearish Ribbon
Message: "Hellenic Matrix: BEARISH RIBBON - EMAs aligned for downtrend"
When: EMAs aligned bearish + price below Fast EMA (less strict condition)
How to Set Up Alerts:
Open indicator on chart
Click on three dots next to indicator name
Select "Create Alert"
In "Condition" field select needed alert:
Golden Cross
Death Cross
STRONG BULLISH
STRONG BEARISH
Bullish Ribbon
Bearish Ribbon
Configure notification method:
Pop-up in browser
Email
SMS (in Premium accounts)
Push notifications in mobile app
Webhook (for automation)
Select frequency:
Once Per Bar Close (recommended) - once on bar close
Once Per Bar - during bar formation
Only Once - only first time
Click "Create"
Tip: Create separate alerts for different timeframes and instruments
FAQ
1. Why don't STRONG signals appear?
Possible reasons:
Incorrect Fast/Mid/Slow order
Solution: Indicator automatically sorts EMAs by periods, but ensure selected EMAs have different periods
Base Multiplier too large
Solution: Reduce Base to 5-10 on lower timeframes
Market in range
Solution: STRONG signals appear only in trends - this is normal
Too strict EMA settings
Solution: Try classic combination: Phi³ / Pi×2 / e² with Base=10
Mid EMA too close to Fast or Slow
Solution: Select Mid EMA with period between Fast and Slow
2. How often should STRONG signals appear?
Normal frequency:
M1-M5: 5-15 signals per day (very active markets)
M15-H1: 2-8 signals per day
H4: 3-10 signals per week
D1: 2-5 signals per month
W1: 2-6 signals per year
If too many signals - market very volatile or Base too small
If too few signals - market in range or Base too large
4. What are the best settings for beginners?
Universal "out of the box" settings:
Matrix Core:
Base Multiplier: 10
Source: close
Phi Golden: Enabled, Power = 3
Pi Circular: Enabled, Multiple = 2
e Natural: Enabled, Power = 2
Delta Adaptive: Enabled, Base = 20, Sensitivity = 2.0
Manual Selection:
Fast: Phi Golden
Mid: e Natural
Slow: Pi Circular
Visualization:
Gradient Clouds: ON
Neon Glow: ON (Medium)
Pulsing Bar: ON (Medium)
Signal Highlights: ON (Light Fill)
Table: ON (Top Right, Small)
Signals:
Golden/Death Cross: ON
STRONG Signals: ON
Stop Loss: OFF (while learning)
Timeframe for learning: H1 or H4
5. Can I use only one EMA?
No, minimum 2 EMAs (Fast and Slow) for signal generation.
Mid EMA is optional:
With Mid EMA = more reliable but rarer signals
Without Mid EMA = more signals but less strict filtering
Recommendation: Start with 3 EMAs (Fast/Mid/Slow), then experiment
6. Does the indicator work on cryptocurrencies?
Yes, works excellently! Especially good on:
Bitcoin (BTC)
Ethereum (ETH)
Major altcoins (SOL, BNB, XRP)
Recommended settings for crypto:
Fast: Delta Adaptive (Base 10-15, Sensitivity 2.5-3.0)
Mid: Pi Circular (2Pi)
Slow: e Natural (e²)
Base: 5-10
Timeframe: M15, H1, H4
Crypto market features:
High volatility → use Delta Adaptive
24/7 trading → set alerts
Sharp movements → wide stops
7. Can I trade only with this indicator?
Technically yes, but NOT recommended.
Best approach - combine with:
Price Action - support/resistance levels, candle patterns
Volume - movement strength confirmation
Fibonacci - retracement and extension levels
RSI/MACD - divergences and overbought/oversold
Fundamental analysis - news, company reports
Hellenic Matrix:
Excellently determines trend and its strength
Provides clear entry/exit points
Doesn't consider fundamentals
Doesn't see major levels
8. Why do Gradient Clouds change color?
Color depends on EMA order:
Phi-Pi Cloud:
Blue - Pi EMA above Phi EMA (bullish alignment)
Gold - Phi EMA above Pi EMA (bearish alignment)
Pi-e Cloud:
Green - e EMA above Pi EMA (bullish alignment)
Blue - Pi EMA above e EMA (bearish alignment)
Color change = EMA order change = possible trend change
9. What is Momentum % in the table?
Momentum % = percentage deviation of price from Fast EMA
Formula:
Momentum = ((Close - Fast EMA) / Fast EMA) × 100
Interpretation:
+0.5% to +2% - normal bullish momentum
+2% to +5% - strong bullish momentum
+5% and above - overheating (correction possible)
-0.5% to -2% - normal bearish momentum
-2% to -5% - strong bearish momentum
-5% and below - oversold (bounce possible)
Usage:
Monitor momentum during STRONG signals
Large momentum = don't enter (wait for pullback)
Small momentum = good entry point
10. How to configure for scalping?
Settings for scalping (M1-M5):
Base Multiplier: 3-5
Source: close or hlc3 (smoother)
Fast: Delta Adaptive (Base 8-12, Sensitivity 3.0)
Mid: None (for more signals)
Slow: Phi Golden (Phi²) or Pi Circular (1Pi)
Visualization:
- Gradient Clouds: ON (helps see strength)
- Neon Glow: OFF (doesn't clutter chart)
- Pulsing Bar: ON (quick assessment)
- Signal Highlights: ON
Signals:
- Golden/Death Cross: ON
- STRONG Signals: ON
- Stop Loss: ON (1.0-1.5 ATR, R:R 1.5-2.0)
Scalping rules:
Trade only STRONG signals
Enter on bounce from Fast EMA
Tight stops (10-20 pips)
Quick take profit (+1R to +2R)
Don't hold through news
11. How to configure for long-term investing?
Settings for investing (D1-W1):
Base Multiplier: 20-30
Source: close
Fast: Phi Golden (Phi³ or Phi⁴)
Mid: e Natural (e²)
Slow: Pi Circular (3Pi or 4Pi)
Visualization:
- Gradient Clouds: ON
- Neon Glow: ON (Medium)
- Everything else - to taste
Signals:
- Golden/Death Cross: ON
- STRONG Signals: ON
- Stop Loss: OFF (use percentage stop)
Investing rules:
Enter only on STRONG signals
Hold while STRONG active (weeks/months)
Stop below Slow EMA or -10%
Take profit: by company targets or +50-100%
Ignore short-term pullbacks
12. What if indicator slows down chart?
Indicator is optimized, but if it slows:
Disable unnecessary visual effects:
Neon Glow: OFF (saves 8 plots)
Gradient Clouds: ON but low quality
Lambda Wave EMA: OFF (if not using)
Reduce number of active EMAs:
Sigma Composite: OFF
Lambda Wave: OFF
Leave only Phi, Pi, e, Delta
Simplify settings:
Pulsing Bar: OFF
Greek Labels: OFF
Info Table: smaller size
13. Can I use on different timeframes simultaneously?
Yes! Multi-timeframe analysis is very powerful:
Classic scheme:
Higher TF (D1, W1) - determine global trend
Wait for STRONG signal
This is our trading direction
Middle TF (H4, H1) - look for confirmation
STRONG signal in same direction
Precise entry zone
Lower TF (M15, M5) - entry point
Golden Cross or bounce from Fast EMA
Precise stop loss
Example:
W1: STRONG BUY active (global uptrend)
H4: STRONG BUY appeared (confirmation)
M15: Wait for Golden Cross or bounce from Fast EMA → ENTRY
Advantages:
Maximum reliability
Clear timeframe hierarchy
Large targets
14. How does indicator work on news?
Delta Adaptive EMA adapts excellently to news:
Before news:
Low volatility → Delta EMA becomes fast → pulls to price
During news:
Sharp volatility spike → Delta EMA slows → filters noise
After news:
Volatility normalizes → Delta EMA returns to normal
Recommendations:
Don't trade at news release moment (spreads widen)
Wait for STRONG signal after news (2-5 bars)
Use Delta Adaptive as Fast EMA for quick reaction
Widen stops by 50-100% during important news
Advanced Techniques
Technique 1: "Divergences with EMA"
Idea: Look for discrepancies between price and Fast EMA
Bullish divergence:
Price makes lower low
Fast EMA makes higher low
= Possible reversal up
Bearish divergence:
Price makes higher high
Fast EMA makes lower high
= Possible reversal down
How to trade:
Find divergence
Wait for STRONG signal in divergence direction
Enter on confirmation
Technique 2: "EMA Tunnel"
Idea: Use space between Fast and Slow EMA as "tunnel"
Rules:
Wide tunnel - strong trend, hold position
Narrow tunnel - weak trend or consolidation, caution
Tunnel narrowing - trend weakening, prepare to exit
Tunnel widening - trend strengthening, can add
Visually: Gradient Clouds show this automatically!
Trading:
Enter on STRONG signal (tunnel starts widening)
Hold while tunnel wide
Exit when tunnel starts narrowing
Technique 3: "Wave Analysis with Lambda"
Idea: Lambda Wave EMA creates sinusoid matching market cycles
Setup:
Lambda Base Period: 30
Lambda Wave Amplitude: 0.5
Lambda Wave Frequency: 50 (adjusted to asset cycle)
How to find correct Frequency:
Look at historical cycles (distance between local highs)
Average distance = your Frequency
Example: if highs every 40-60 bars, set Frequency = 50
Trading:
Enter when Lambda Wave at bottom of sinusoid (growth potential)
Exit when Lambda Wave at top (fall potential)
Combine with STRONG signals
Technique 4: "Cluster Analysis"
Idea: When all EMAs gather in narrow cluster = powerful breakout soon
Cluster signs:
All EMAs (Phi, Pi, e, Delta) within 0.5-1% of each other
Gradient Clouds almost invisible
Price jumping around all EMAs
Trading:
Identify cluster (all EMAs close)
Determine breakout direction (where more volume, higher TFs direction)
Wait for breakout and STRONG signal
Enter on confirmation
Target = cluster size × 3-5
This is very powerful technique for big moves!
Technique 5: "Sigma as Dynamic Level"
Idea: Sigma Composite EMA = average of all EMAs = magnetic level
Usage:
Enable Sigma Composite (Weighted Average)
Sigma works as dynamic support/resistance
Price often returns to Sigma before trend continuation
Trading:
In trend: Enter on bounces from Sigma
In range: Fade moves from Sigma (trade return to Sigma)
On breakout: Sigma becomes support/resistance
Risk Management
Basic Rules
1. Position Size
Conservative: 1% of capital per trade
Moderate: 2% of capital per trade (recommended)
Aggressive: 3-5% (only for experienced)
Calculation formula:
Lot Size = (Capital × Risk%) / (Stop in pips × Pip value)
2. Risk/Reward Ratio
Minimum: 1:1.5
Standard: 1:2 (recommended)
Optimal: 1:3
Aggressive: 1:5+
3. Maximum Drawdown
Daily: -3% to -5%
Weekly: -7% to -10%
Monthly: -15% to -20%
Upon reaching limit → STOP trading until end of period
Position Management Strategies
1. Fixed Stop
Method:
Stop below/above Fast EMA or local extreme
DON'T move stop against position
Can move to breakeven
For whom: Beginners, conservative traders
2. Trailing by Fast EMA
Method:
Each day (or bar) move stop to Fast EMA level
Position closes when price breaks Fast EMA
Advantages:
Stay in trend as long as possible
Automatically exit on reversal
For whom: Trend followers, swing traders
3. Partial Exit
Method:
50% of position close at +2R
50% hold with trailing by Mid EMA or Slow EMA
Advantages:
Lock profit
Leave position for big move
Psychologically comfortable
For whom: Universal method (recommended)
4. Pyramiding
Method:
First entry on STRONG signal (50% of planned position)
Add 25% on pullback to Fast EMA
Add another 25% on pullback to Mid EMA
Overall stop below Slow EMA
Advantages:
Average entry price
Reduce risk
Increase profit in strong trends
Caution:
Works only in trends
In range leads to losses
For whom: Experienced traders
Trading Psychology
Correct Mindset
1. Indicator is a tool, not holy grail
Indicator shows probability, not guarantee
There will be losing trades - this is normal
Important is series statistics, not one trade
2. Trust the system
If STRONG signal appeared - enter
Don't search for "perfect" moment
Follow trading plan
3. Patience
STRONG signals don't appear every day
Better miss signal than enter against trend
Quality over quantity
4. Discipline
Always set stop loss
Don't move stop against position
Don't increase risk after losses
Beginner Mistakes
1. "I know better than indicator"
Indicator says STRONG BUY, but you think "too high, will wait for pullback"
Result: miss profitable move
Solution: Trust signals or don't use indicator
2. "Will reverse now for sure"
Trading against STRONG trend
Result: stops, stops, stops
Solution: Trend is your friend, trade with trend
3. "Will hold a bit more"
Don't exit when STRONG signal disappears
Greed eats profit
Solution: If signal gone - exit!
4. "I'll recover"
After losses double risk
Result: huge losses
Solution: Fixed % risk ALWAYS
5. "I don't like this signal"
Skip signals because of "feeling"
Result: inconsistency, no statistics
Solution: Trade ALL signals or clearly define filters
Trading Journal
What to Record
For each trade:
1. Entry/exit date and time
2. Instrument and timeframe
3. Signal type
Golden Cross
STRONG BUY
STRONG SELL
Death Cross
4. Indicator settings
Fast/Mid/Slow EMA
Base Multiplier
Other parameters
5. Chart screenshot
Entry moment
Exit moment
6. Trade parameters
Position size
Stop loss
Take Profit
R:R
7. Result
Profit/Loss in $
Profit/Loss in %
Profit/Loss in R
8. Notes
What was right
What was wrong
Emotions during trade
Lessons
Journal Analysis
Analyze weekly:
1. Win Rate
Win Rate = (Profitable trades / All trades) × 100%
Good: 50-60%
Excellent: 60-70%
Exceptional: 70%+
2. Average R
Average R = Sum of all R / Number of trades
Good: +0.5R
Excellent: +1.0R
Exceptional: +1.5R+
3. Profit Factor
Profit Factor = Total profit / Total losses
Good: 1.5+
Excellent: 2.0+
Exceptional: 3.0+
4. Maximum Drawdown
Track consecutive losses
If more than 5 in row - stop, check system
5. Best/Worst Trades
What was common in best trades? (do more)
What was common in worst trades? (avoid)
Pre-Trade Checklist
Technical Analysis
STRONG signal active (BUY or SELL)
All EMAs properly aligned (Fast > Mid > Slow or reverse)
Price on correct side of Fast EMA
Gradient Clouds confirm trend
Pulsing Bar shows STRONG state
Momentum % in normal range (not overheated)
No close strong levels against direction
Higher timeframe doesn't contradict
Risk Management
Position size calculated (1-2% risk)
Stop loss set
Take profit calculated (minimum 1:2)
R:R satisfactory
Daily/weekly risk limit not exceeded
No other open correlated positions
Fundamental Analysis
No important news in coming hours
Market session appropriate (liquidity)
No contradicting fundamentals
Understand why asset is moving
Psychology
Calm and thinking clearly
No emotions from previous trades
Ready to accept loss at stop
Following trading plan
Not revenging market for past losses
If at least one point is NO - think twice before entering!
Learning Roadmap
Week 1: Familiarization
Goals:
Install and configure indicator
Study all EMA types
Understand visualization
Tasks:
Add indicator to chart
Test all Fast/Mid/Slow settings
Play with Base Multiplier on different timeframes
Observe Gradient Clouds and Pulsing Bar
Study Info Table
Result: Comfort with indicator interface
Week 2: Signals
Goals:
Learn to recognize all signal types
Understand difference between Golden Cross and STRONG
Tasks:
Find 10 Golden Cross examples in history
Find 10 STRONG BUY examples in history
Compare their results (which worked better)
Set up alerts
Get 5 real alerts
Result: Understanding signals
Week 3: Demo Trading
Goals:
Start trading signals on demo account
Gather statistics
Tasks:
Open demo account
Trade ONLY STRONG signals
Keep journal (minimum 20 trades)
Don't change indicator settings
Strictly follow stop losses
Result: 20+ documented trades
Week 4: Analysis
Goals:
Analyze demo trading results
Optimize approach
Tasks:
Calculate win rate and average R
Find patterns in profitable trades
Find patterns in losing trades
Adjust approach (not indicator!)
Write trading plan
Result: Trading plan on 1 page
Month 2: Improvement
Goals:
Deepen understanding
Add additional techniques
Tasks:
Study multi-timeframe analysis
Test combinations with Price Action
Try advanced techniques (divergences, tunnels)
Continue demo trading (minimum 50 trades)
Achieve stable profitability on demo
Result: Win rate 55%+ and Profit Factor 1.5+
Month 3: Real Trading
Goals:
Transition to real account
Maintain discipline
Tasks:
Open small real account
Trade minimum lots
Strictly follow trading plan
DON'T increase risk
Focus on process, not profit
Result: Psychological comfort on real
Month 4+: Scaling
Goals:
Increase account
Become consistently profitable
Tasks:
With 60%+ win rate can increase risk to 2%
Upon doubling account can add capital
Continue keeping journal
Periodically review and improve strategy
Share experience with community
Result: Stable profitability month after month
Additional Resources
Recommended Reading
Technical Analysis:
"Technical Analysis of Financial Markets" - John Murphy
"Trading in the Zone" - Mark Douglas (psychology)
"Market Wizards" - Jack Schwager (trader interviews)
EMA and Moving Averages:
"Moving Averages 101" - Steve Burns
Articles on Investopedia about EMA
Risk Management:
"The Mathematics of Money Management" - Ralph Vince
"Trade Your Way to Financial Freedom" - Van K. Tharp
Trading Journals:
Edgewonk (paid, very powerful)
Tradervue (free version + premium)
Excel/Google Sheets (free)
Screeners:
TradingView Stock Screener
Finviz (stocks)
CoinMarketCap (crypto)
Conclusion
Hellenic EMA Matrix is a powerful tool based on universal mathematical constants of nature. The indicator combines:
Mathematical elegance - Phi, Pi, e instead of arbitrary numbers
Premium visualization - Neon Glow, Gradient Clouds, Pulsing Bar
Reliable signals - STRONG BUY/SELL work on all timeframes
Flexibility - 6 EMA types, adaptation to any trading style
Automation - auto-sorting EMAs, SL/TP calculation, alerts
Key Success Principles:
Simplicity - start with basic settings (Phi/Pi/e, Base=10)
Discipline - follow STRONG signals strictly
Patience - wait for quality setups
Risk Management - 1-2% per trade, ALWAYS
Journal - document every trade
Learning - constantly improve skills
Remember:
Indicator shows probability, not guarantee
Important is series statistics, not one trade
Psychology more important than technique
Quality more important than quantity
Process more important than result
Acknowledgments
Thank you for using Hellenic EMA Matrix - Alpha Omega Premium!
The indicator was created with love for mathematics, markets, and beautiful visualization.
Wishing you profitable trading!
Guide Version: 1.0
Date: 2025
Compatibility: Pine Script v6, TradingView
"In the simplicity of mathematical constants lies the complexity of market movements"
BackTestLibLibrary "BackTestLib"
Allows backtesting indicator performance. Tracks typical metrics such as won/loss, profit factor, draw down, etc. Trading View strategy library provides similar (and more comprehensive)
functionality but only works with strategies. This libary was created to address performance tracking within indicators.
Two primary outputs are generated:
1. Summary Table: Displays overall performance metrics for the indicator over the chart's loaded timeframe and history
2. Details Table: Displays a table of individual trade entries and exits. This table can grow larger than the available chart space. It does have a max number of rows supported. I haven't
found a way to add scroll bars or scroll bar equivalents yet.
f_init(data, _defaultStopLoss, _defaultTakeProfit, _useTrailingStop, _useTraingStopToBreakEven, _trailingStopActivation, _trailingStopOffset)
f_init Initialize the backtest data type. Called prior to using the backtester functions
Parameters:
data (backtesterData) : backtesterData to initialize
_defaultStopLoss (float) : Default trade stop loss to apply
_defaultTakeProfit (float) : Default trade take profit to apply
_useTrailingStop (bool) : Trailing stop enabled
_useTraingStopToBreakEven (bool) : When trailing stop active, trailing stop will increase no further than the entry price
_trailingStopActivation (int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
_trailingStopOffset (int) : When trailing stop active, it will trail the max price achieved by this number of points
Returns: Initialized data set
f_buildResultStr(_resultType, _price, _resultPoints, _numWins, _pointsWon, _numLoss, _pointsLost)
f_buildResultStr Helper function to construct a string of resutling data for exit tooltip labels
Parameters:
_resultType (string)
_price (float)
_resultPoints (float)
_numWins (int)
_pointsWon (float)
_numLoss (int)
_pointsLost (float)
f_buildResultLabel(data, labelVertical, labelOffset, long)
f_buildResultLabel Helper function to construct an Exit label for display on the chart
Parameters:
data (backtesterData)
labelVertical (bool)
labelOffset (int)
long (bool)
f_updateTrailingStop(_entryPrice, _curPrice, _sl, _tp, trailingStopActivationInput, trailingStopOffsetInput, useTrailingStopToBreakEven)
f_updateTrailingStop Helper function to advance the trailing stop as price action dictates
Parameters:
_entryPrice (float)
_curPrice (float)
_sl (float)
_tp (float)
trailingStopActivationInput (float)
trailingStopOffsetInput (float)
useTrailingStopToBreakEven (bool)
Returns: Updated stop loss for current price action
f_enterShort(data, entryPrice, fixedStopLoss)
f_enterShort Helper function to enter a short and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_enterLong(data, entryPrice, fixedStopLoss)
f_enterLong Helper function to enter a long and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_exitTrade(data)
f_enterLong Helper function to exit a trade and update/reset tracking data
Parameters:
data (backtesterData)
Returns: Updated backtest data
f_checkTradeConditionForExit(data, condition, curPrice, enableRealTime)
f_checkTradeConditionForExit Helper function to determine if provided condition indicates an exit
Parameters:
data (backtesterData)
condition (bool) : When true trade will exit
curPrice (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_checkTrade(data, curPrice, curLow, curHigh, enableRealTime)
f_checkTrade Helper function to determine if current price action dictates stop loss or take profit exit
Parameters:
data (backtesterData)
curPrice (float)
curLow (float)
curHigh (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor, _text_size)
f_fillCell Helper function to construct result table cells
Parameters:
_table (table)
_column (int)
_row (int)
_title (string)
_value (string)
_bgcolor (color)
_txtcolor (color)
_text_size (string)
Returns: Table cell
f_prepareStatsTable(data, drawTesterSummary, drawTesterDetails, summaryTableTextSize, detailsTableTextSize, displayRowZero, summaryTableLocation, detailsTableLocation)
f_fillCell Helper function to populate result table
Parameters:
data (backtesterData)
drawTesterSummary (bool)
drawTesterDetails (bool)
summaryTableTextSize (string)
detailsTableTextSize (string)
displayRowZero (bool)
summaryTableLocation (string)
detailsTableLocation (string)
Returns: Updated backtest data
backtesterData
backtesterData - container for backtest performance metrics
Fields:
tradesArray (array) : Array of strings with entries for each individual trade and its results
pointsBalance (series float) : Running sum of backtest points won/loss results
drawDown (series float) : Running sum of backtest total draw down points
maxDrawDown (series float) : Running sum of backtest total draw down points
maxRunup (series float) : Running sum of max points won over the backtest
numWins (series int) : Number of wins of current backtes set
numLoss (series int) : Number of losses of current backtes set
pointsWon (series float) : Running sum of points won to date
pointsLost (series float) : Running sum of points lost to date
entrySide (series string) : Current entry long/short
tradeActive (series bool) : Indicates if a trade is currently active
tradeComplete (series bool) : Indicates if a trade just exited (due to stop loss or take profit)
entryPrice (series float) : Current trade entry price
entryTime (series int) : Current trade entry time
sl (series float) : Current trade stop loss
tp (series float) : Current trade take profit
defaultStopLoss (series float) : Default trade stop loss to apply
defaultTakeProfit (series float) : Default trade take profit to apply
useTrailingStop (series bool) : Trailing stop enabled
useTrailingStopToBreakEven (series bool) : When trailing stop active, trailing stop will increase no further than the entry price
trailingStopActivation (series int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
trailingStopOffset (series int) : When trailing stop active, it will trail the max price achieved by this number of points
resultType (series string) : Current trade won/lost
exitPrice (series float) : Current trade exit price
resultPoints (series float) : Current trade points won/lost
summaryTable (series table) : Table to deisplay summary info
tradesTable (series table) : Table to display per trade info
Open-Close Absolute Difference with Threshold CountsThe Open-Close Absolute Difference with Threshold Counts indicator is a versatile tool designed to help traders analyze the volatility and price movements within any given timeframe on their charts. This indicator calculates the absolute difference between the open and close prices for each bar, providing a clear visualization through a color-coded histogram.
Key features include:
• Timeframe Flexibility: Utilizes the current chart’s timeframe, whether it’s a 5-minute, hourly, or daily chart.
• Custom Thresholds: Allows you to set up to four custom threshold levels (Thresholds A, B, C, and D) with default values of 10, 15, 25, and 35, respectively.
• Period Customization: Enables you to define the number of bars (N) over which the indicator calculates the counts, with a default of 100 bars.
• Visual Threshold Lines: Plots horizontal dashed lines on the histogram representing each threshold for easy visual reference.
• Dynamic Counting: Counts and displays the number of times the absolute difference is less than or greater than each threshold within the specified period.
• Customizable Table Position: Offers the flexibility to position the results table anywhere on the chart (e.g., Top Right, Bottom Left).
How It Works:
1. Absolute Difference Calculation:
• For each bar on the chart, the indicator calculates the absolute difference between the open and close prices.
• This difference is plotted as a histogram:
• Green Bars: Close price is higher than the open price.
• Red Bars: Close price is lower than the open price.
2. Threshold Comparison and Counting:
• Compares the absolute difference to each of the four thresholds.
• Determines whether the difference is less than or greater than each threshold.
• Utilizes the ta.sum() function to count occurrences over the specified number of bars (N).
3. Results Table:
• Displays a table with three columns:
• Left Column: Counts where the absolute difference is less than the threshold.
• Middle Column: The threshold value.
• Right Column: Counts where the absolute difference is greater than the threshold.
• The table updates dynamically and can be positioned anywhere on the chart according to your preference.
4. Threshold Lines on Histogram:
• Plots horizontal dashed lines at each threshold level.
• Each line is color-coded for distinction:
• Threshold A: Yellow
• Threshold B: Orange
• Threshold C: Purple
• Threshold D: Blue
How to Use:
1. Add the Indicator to Your Chart:
• Open the Pine Editor on TradingView.
• Copy and paste the provided code into the editor.
• Click “Add to Chart.”
2. Configure Settings:
• Number of Bars (N):
• Set the period over which you want to calculate the counts (default is 100).
• Thresholds A, B, C, D:
• Input your desired threshold values (defaults are 10, 15, 25, 35).
• Table Position:
• Choose where you want the results table to appear on the chart:
• Options include “Top Left,” “Top Center,” “Top Right,” “Bottom Left,” “Bottom Center,” “Bottom Right.”
3. Interpret the Histogram:
• Observe the absolute differences plotted as a histogram.
• Use the color-coded bars to quickly assess whether the close price was higher or lower than the open price.
4. Analyze the Counts Table:
• Review the counts of occurrences where the absolute difference was less than or greater than each threshold.
• Use this data to gauge volatility and price movement intensity over the specified period.
5. Visual Reference with Threshold Lines:
• Refer to the horizontal dashed lines on the histogram to see how the absolute differences align with your thresholds.
Example Use Case:
Suppose you’re analyzing a 5-minute chart for a particular stock and want to understand its short-term volatility:
• Set the Number of Bars (N) to 50 to analyze the recent 50 bars.
• Adjust Thresholds based on the typical price movements of the stock, e.g., Threshold A: 0.5, Threshold B: 1.0, Threshold C: 1.5, Threshold D: 2.0.
• Position the Table at the “Top Right” for easy viewing.
By doing so, you can:
• Quickly see how often the stock experiences significant price movements within 5-minute intervals.
• Make informed decisions about entry and exit points based on the volatility patterns.
• Customize the thresholds and periods as market conditions change.
Benefits:
• Customizable Analysis: Tailor the indicator to fit various trading styles and timeframes.
• Quick Visualization: Instantly assess market volatility and price movement direction.
• Enhanced Decision-Making: Use the counts and visual cues to make more informed trading decisions.
• User-Friendly Interface: Simple configuration and clear display of information.
Note: Always test the indicator with different settings to find the configuration that best suits your trading strategy. This indicator should be used as part of a comprehensive analysis and not as the sole basis for trading decisions.
Export Candles DataThis program is written in Pine Script (version 5) and is designed to retrieve candlestick data (open, high, low, and close prices) from the TradingView chart. The data is displayed in a table located in the upper right corner of the chart.
Main Functions of the Program:
Retrieving candlestick data: The program processes data for the last 10 candlesticks on the selected timeframe (e.g., hourly, minute, etc.) in the TradingView chart. For each candlestick, it retrieves:
Time of the candle's close
Opening price
Highest price during the period
Lowest price during the period
Closing price
Displaying data in a table: The data is presented in a compact table located in the upper right corner of the chart. The table contains 5 columns:
Time of the candle's close (formatted as yyyy-MM-dd HH:mm)
Opening price
Highest price
Lowest price
Closing price
Clearing the table every 50 bars: To prevent the table from becoming overloaded, it clears itself every 50 bars, starting from the first row and first column.
Data updates dynamically: The table dynamically updates, displaying the latest 10 candles, allowing traders to track current market changes.
Application:
This indicator is useful for traders who want a quick view of key candlestick parameters directly on the chart.
The indicator can be easily applied to any instrument or index in TradingView, such as the IMOEX index.
The table view makes it easy to quickly analyze market movements without needing to inspect each candle individually.
How the Program Works:
On each new bar, the program checks the current bar's index.
The program clears the table if 50 bars have passed since the last clearing.
It writes the data of the last 10 candlesticks into the table: the time of the candle's close, opening price, highest and lowest prices, and closing price.
The table updates automatically and continuously displays the latest data.
This indicator is suitable for both short-term and long-term market analysis, providing a convenient and efficient way to monitor price movements directly on the chart.
[ALGOA+] Markov Chains Library by @metacamaleoLibrary "MarkovChains"
Markov Chains library by @metacamaleo. Created in 09/08/2024.
This library provides tools to calculate and visualize Markov Chain-based transition matrices and probabilities. This library supports two primary algorithms: a rolling window Markov Chain and a conditional Markov Chain (which operates based on specified conditions). The key concepts used include Markov Chain states, transition matrices, and future state probabilities based on past market conditions or indicators.
Key functions:
- `mc_rw()`: Builds a transition matrix using a rolling window Markov Chain, calculating probabilities based on a fixed length of historical data.
- `mc_cond()`: Builds a conditional Markov Chain transition matrix, calculating probabilities based on the current market condition or indicator state.
Basically, you will just need to use the above functions on your script to default outputs and displays.
Exported UDTs include:
- s_map: An UDT variable used to store a map with dummy states, i.e., if possible states are bullish, bearish, and neutral, and current is bullish, it will be stored
in a map with following keys and values: "bullish", 1; "bearish", 0; and "neutral", 0. You will only use it to customize your own script, otherwise, it´s only for internal use.
- mc_states: This UDT variable stores user inputs, calculations and MC outputs. As the above, you don´t need to use it, but you may get features to customize your own script.
For example, you may use mc.tm to get the transition matrix, or the prob map to customize the display. As you see, functions are all based on mc_states UDT. The s_map UDT is used within mc_states´s s array.
Optional exported functions include:
- `mc_table()`: Displays the transition matrix in a table format on the chart for easy visualization of the probabilities.
- `display_list()`: Displays a map (or array) of string and float/int values in a table format, used for showing transition counts or probabilities.
- `mc_prob()`: Calculates and displays probabilities for a given number of future bars based on the current state in the Markov Chain.
- `mc_all_states_prob()`: Calculates probabilities for all states for future bars, considering all possible transitions.
The above functions may be used to customize your outputs. Use the returned variable mc_states from mc_rw() and mc_cond() to display each of its matrix, maps or arrays using mc_table() (for matrices) and display_list() (for maps and arrays) if you desire to debug or track the calculation process.
See the examples in the end of this script.
Have good trading days!
Best regards,
@metacamaleo
-----------------------------
KEY FUNCTIONS
mc_rw(state, length, states, pred_length, show_table, show_prob, table_position, prob_position, font_size)
Builds the transition matrix for a rolling window Markov Chain.
Parameters:
state (string) : The current state of the market or system.
length (int) : The rolling window size.
states (array) : Array of strings representing the possible states in the Markov Chain.
pred_length (int) : The number of bars to predict into the future.
show_table (bool) : Boolean to show or hide the transition matrix table.
show_prob (bool) : Boolean to show or hide the probability table.
table_position (string) : Position of the transition matrix table on the chart.
prob_position (string) : Position of the probability list on the chart.
font_size (string) : Size of the table font.
Returns: The transition matrix and probabilities for future states.
mc_cond(state, condition, states, pred_length, show_table, show_prob, table_position, prob_position, font_size)
Builds the transition matrix for conditional Markov Chains.
Parameters:
state (string) : The current state of the market or system.
condition (string) : A string representing the condition.
states (array) : Array of strings representing the possible states in the Markov Chain.
pred_length (int) : The number of bars to predict into the future.
show_table (bool) : Boolean to show or hide the transition matrix table.
show_prob (bool) : Boolean to show or hide the probability table.
table_position (string) : Position of the transition matrix table on the chart.
prob_position (string) : Position of the probability list on the chart.
font_size (string) : Size of the table font.
Returns: The transition matrix and probabilities for future states based on the HMM.
RSI - ARIEIVhe RSI MAPPING - ARIEIV is a powerful technical indicator based on the Relative Strength Index (RSI) combined with moving averages and divergence detection. This indicator is designed to provide a clear view of overbought and oversold conditions, as well as identifying potential reversals and signals for market entries and exits.
Key Features:
Customizable RSI:
The indicator offers flexibility in adjusting the RSI length and data source (closing price, open price, etc.).
The overbought and oversold lines can be customized, allowing the RSI to signal critical market zones according to the trader’s strategy.
RSI-Based Moving Averages (MA):
Users can enable a moving average based on the RSI with support for multiple types such as SMA, EMA, WMA, VWMA, and SMMA (RMA).
For those who prefer Bollinger Bands, there’s an option to use the moving average with standard deviation to detect market volatility.
Divergence Detection:
Detects both regular and hidden divergences (bullish and bearish) between price and RSI, which can indicate potential market reversals.
These divergences can be customized with specific colors for easy identification on the chart, allowing traders to quickly spot significant market shifts.
Zone Mapping:
The script maps zones of buying and selling strength, filling the areas between the overbought and oversold levels with specific colors, highlighting when the market is in extreme conditions.
Strength Tables:
At the end of each session, a table appears on the right side of the chart, displaying the "Buying Strength" and "Selling Strength" based on calculated RSI levels. This allows for quick analysis of the dominant pressure in the market.
Flexible Settings:
Many customization options are available, from adjusting the number of decimal places to the choice of colors and the ability to toggle elements on or off within the chart.
Checklist By TradeINskiChecklist By TradeINski
First Things First
This indicator is a supporting tool for trading momentum burst that is 2 Lynch setup by stock bee aka Pradeep Bonde.
Disclaimer: This indicator will not give any buy or sell signal. This is just a supporting tool to improve efficiency in my trading.
Apply Indicators and then open indicator settings and read the following simultaneously to understand better.
Default color settings are best suited for light themes. Which is also my personal preference.
Users can change most of the default options in settings according to their personal preference in settings.
When we open settings we can see 3 tabs that are {Inputs tab} {Style tab} {Visibility tab} each tab have its own options, Understand and use it accordingly.
Indicator will be only visible in the Daily time frame as its primary TF is daily. In the lower time frame nothing is plotted.
An indicator is plotted on an existing plane and overlaid on the existing plane.
Contents
My Checklist Lynch
Table Header Settings
Position
Size
Text Color
Background Color
“ON/OFF” Header “Text Box” “Info”
Table Content
Text Color
Background Color
“ON/OFF” R (1 - 10) “Text Box” T (1 - 10) “Text Box”
My Checklist - 2Lynch
This is the checklist I use while placing the trade just to make use of not missing anything based on predefined rules of the setup I trade.
2 - The stock should not be Up more than 2 days in a row, Minor movement can be acceptable.
L - The stock price movement should be linear, validation of established momentum
Y - Young trend in preference 1 - 3rd breakout from base
N - Narrow Range or -ve day before breakout
C - Consolidation should be narrow, linear and low volume. No more than one 4% breakdown.
H - The candle should close near high or at least 20% within when entered.
Table Headers Settings
Position - “Drop Down” with 9 different options which are self explanatory. Users can change the position of the table as per their preference.
Size - “Drop Down” with 6 different options which are self explanatory. Users can change the size of all the text printed in the table as per their preference.
Text Color - “Default Color is White” This setting is specifically only for header text. And users can change the text color of the header as per their preference.
Background Color - “Default Color is Blue” This setting is specifically only for header
background color. Users can change the background color of the header as per their preference.
“ON/OFF” Header “Text Box” “Info”
“Check Mark” - To show or hide the header that is “ON/OFF”.
“Header” - Heading of the table.
“Text Box” - Users can input as per their preference.
“Info” - Info symbol that shows short form and important note that is (Max 50 characteristics for all text boxes) .
Table Content
Text Color - “Default Color is White” This setting is specifically for table texts. And users can change the text color of the all content table texts as per their preference.
Background Color - “Default Color is black” This setting is specifically for content table texts background color. Users can change the background color of the header as per their preference.
“ON/OFF” R (1 - 10) “Text Box” T (1 - 10) “Text Box”
“Check Mark” - To show or hide the complete Row. Users have options and can change as per their preferences.
R (1-10) - “R” stands for Row and (1-10) is Number of rows available for users to enter text. Users have 10 different options.
“Text Box” - Place to enter text that users want to print on column 1 of the table.
T (1-10) - “T” stands for table and (1-10) is Number of text boxes available for users to enter text. Users have 10 different options.
“Text Box” - Place to enter text that users want to print on column 2 of the table.
Fib RSI++ by [JohnnySnow]Fib RSI++ by is an RSI Inspired by my absolutely favorite RSI on tradingview: RSI & EMA with Reverse Calculator Panel by balipour.
Built for quicker and easily identify prices at current RSI /possibly reversals/ RSI direction and RSI landings.
From balipour, I reuse /adapt to pinescriptV5 3 lines of code ( ) - the balipour implementation for reversing RSI formula in order to calculate price estimation based on the Given RSI level. Credits to the author.
Inspired by it, I also combine RSI with a MA but tuned to reads better the support/resistance levels (my humble opinion).
For quicker price target identification 2 features were added:
- Gridlines based on Fib levels, standard overbought/oversold levels and other levels I personally use. All of the grid lines can be configured according to user preferences.
- 2 information tables:
--First with a collection of 'close' numbers and Fib RSI levels price estimations at given RSI
--The second table allows the user to add up to 3 custom RSI levels to further target the price estimation.
Author UI Preferences to be used with this indicator: dark theme, hidden vertical and horizontal chart gridlines.
trend_vol_forecastNote: The following description is copied from the script's comments. Since TradingView does not allow me to edit this description, please refer to the comments and release notes for the most up-to-date information.
-----------
USAGE
This script compares trend trading with a volatility stop to "buy and hold".
Trades are taken with the trend, except when price exceeds a volatility
forecast. The trend is defined by a moving average crossover. The forecast
is based on projecting future volatility from historical volatility.
The trend is defined by two parameters:
- long: the length of a long ("slow") moving average.
- short: the length of a short ("fast") moving average.
The trend is up when the short moving average is above the long. Otherwise
it is down.
The volatility stop is defined by three parameters:
- volatility window: determines the number of periods in the historical
volatility calculation. More periods means a slower (smoother)
estimate of historical volatility.
- stop forecast periods: the number of periods in the volatility
forecast. For example, "7" on a daily chart means that the volatility
will be forecasted with a one week lag.
- stop forecast stdev: the number of standard deviations in the stop
forecast. For example, "2" means two standard deviations.
EXAMPLE
The default parameters are:
- long: 50
- short: 20
- volatility window: 30
- stop forecast periods: 7
- stop forecast standard deviations: 1
The trend will be up when the 20 period moving average is above the 50
period moving average. On each bar, the historical volatility will be
calculated from the previous 30 bars. If the historical volatility is 0.65
(65%), then a forecast will be drawn as a fuchsia line, subtracting
0.65 * sqrt(7 / 365) from the closing price. If price at any point falls
below the forecast, the volatility stop is in place, and the trend is
negated.
OUTPUTS
Plots:
- The trend is shown by painting the slow moving average green (up), red
(down), or black (none; volatility stop).
- The fast moving average is shown in faint blue
- The previous volatility forecasts are shown in faint fuchsia
- The current volatility forecast is shown as a fuchsia line, projecting
into the future as far as it is valid.
Tables:
- The current historical volatility is given in the top right corner, as a
whole number percentage.
- The performance table shows the mean, standard deviation, and sharpe
ratio of the volatility stop trend strategy, as well as buy and hold.
If the trend is up, each period's return is added to the sample (the
strategy is long). If the trend is down, the inverse of each period's
return is added to the sample (the strategy is short). If there is no
trend (the volatility stop is active), the period's return is excluded
from the sample. Every period is added to the buy-and-hold strategy's
sample. The total number of periods in each sample is also shown.
Moving Averages PowerMoving Averages Power — Trend + Normalized Strength
Lightweight indicator that plots up to 15 SMAs (5 → 4320) and shows a compact table with each MA’s:
Slope % (per-bar)
Trend (Bullish/Bearish/Neutral)
Normalized “Strength” bars comparable across MA lengths and, optionally, across timeframes via ATR%
Not financial advice. For research/education only.
What it does
Plots 15 SMA lines on the price chart
Colors match trend: Bullish (green), Bearish (red), Neutral (gray)
Bottom-right table: MA, Slope %, Trend, Strength bars
Strength normalization modes:
None: raw |slope%|
Length: scales by length relative to a reference length
ATR%: scales by volatility (ATR as % of price)
Length+ATR%: combines both for better cross-timeframe comparability
How it works (concepts)
Slope % per bar: 100 × (MA − MA ) / MA
Normalization:
None: S = |slope%|
Length: S = |slope%| × (length / normRefLen)
ATR%: S = |slope%| / ATR%, where ATR% = 100 × ATR(atrLen) / close
Length+ATR%: S = (|slope%| × (length / normRefLen)) / ATR%
Bars: floor(S / strengthStep), clamped to Max bars (default 10)
Notes:
normRefLen (default 240) keeps Length scaling stable across very short and very long MAs
In ATR modes, Strength shows blank until there’s enough history for ATR
How to use
Add the indicator to your chart (Indicators → search this title → Add).
Open Settings:
Show/hide any of the 15 SMAs
Choose Strength normalization mode
Tune Strength step, Max bars, Reference length, and ATR Length
Read the table:
MA: period
Slope %: per-bar percent change of the MA
Trend: green (bullish), red (bearish), gray (neutral)
Strength: more bars = stronger trend under the chosen normalization
Inputs (quick reference)
Display:
15 toggles: Show SMA 5 … Show SMA 4320
Strength Settings:
Strength normalization: None | Length | ATR% | Length+ATR%
Strength step (normalized units): sensitivity of bar count
Max bars: clamp for the bar count (default 10)
Normalization reference length: baseline for Length scaling (default 240)
ATR Length (for ATR%): ATR lookback used for ATR%
Text:
Label font size, Table font size
Line + label colors
Bullish (slope > 0): green
Bearish (slope < 0): red
Neutral (otherwise): gray
The MA lines, end-of-series labels, and table trend cell use the same colors
Recommended presets (examples)
Intraday (e.g., BTCUSD, 1h):
Strength normalization: Length+ATR%
normRefLen: 240
Strength step: 0.02–0.05
Max bars: 10
ATR Length: 14
Daily (e.g., AAPL, 1D):
Strength normalization: Length
normRefLen: 240–480
Strength step: 0.01–0.03
Max bars: 10
Calibration tips
Bars often at max (pegged)?
Increase Strength step (e.g., 0.01 → 0.03 → 0.05)
Or increase normRefLen (e.g., 240 → 480 → 720)
Bars too few?
Decrease Strength step (e.g., 0.02 → 0.01 → 0.005)
Or decrease normRefLen (e.g., 240 → 120)
Cross-timeframe comparability:
Prefer Length+ATR%; start with Strength step ≈ 0.02–0.05 and tune
Limitations
SMA only (no EMA/WMA/etc.)
Per-bar slope is inherently timeframe-sensitive; use ATR% or Length+ATR% for better cross-timeframe comparisons
ATR modes require atrLen bars; Strength shows blank until ready
The longest SMA (4320) needs sufficient chart history
Troubleshooting
Strength always looks maxed:
You might be on Length mode with a very small step; increase Strength step and/or use Length+ATR%; review normRefLen
Strength blank cells:
In ATR modes, wait for enough history (atrLen) or switch to Length mode
Table bounds:
The script manages rows internally; if you customize periods, ensure the total rows fit the 4×16 table
Compatibility
Pine Script v6
Works on most symbols/timeframes with adequate history
If you find this useful, consider leaving feedback with your preferred defaults (symbol/timeframe) so I can provide better presets.
ORDER BLCOK custom strategy# OB Matrix Strategy - Documentation
**Version:** 1.0
**Author:** HPotter
**Date:** 31/07/2017
The **OB Matrix Strategy** is based on the identification of **bullish and bearish Order Blocks** and the management of conditional orders with multiple Take Profit (TP) and Stop Loss (SL) levels. It uses trend filters, ATR, and percentage-based risk management.
---
## 1. Main Parameters
### Strategy
- `initial_capital`: 50
- `default_qty_type`: percentage of capital
- `default_qty_value`: 10
### Money Management
- `rr_threshold`: minimum Risk/Reward threshold to open a trade
- `risk_percent`: percentage of capital to risk per trade (default 2%)
- `maxPendingBars`: maximum number of bars for a pending order
- `maxBarsOpen`: maximum number of bars for an open position
- `qty_tp1`, `qty_tp2`, `qty_tp3`: quantity percentages for multiple TPs
---
## 2. Order Block Identification
### Order Block Parameters
- `obLookback`: number of bars to identify an Order Block
- `obmode`: method to calculate the block (`Full` or `Breadth`)
- `obmiti`: method to determine block mitigation (`Close`, `Wick`, `Avg`)
- `obMaxBlocks`: maximum number of Order Blocks displayed
### Main Variables
- `bullBlocks`: array of bullish blocks
- `bearBlocks`: array of bearish blocks
- `last_bull_volume`, `last_bear_volume`: volume of the last block
- `dom_block`: dominant block type (Bullish/Bearish/None)
- `block_strength`: block strength (normalized volume)
- `price_distance`: distance between current price and nearest block
---
## 3. Visual Parameters
- `Width`: line thickness for swing high/low
- `amountOfBoxes`: block grid segments
- `showBorder`: show block borders
- `borderWidth`: width of block borders
- `showVolume`: display volume inside blocks
- `volumePosition`: vertical position of volume text
Customizable colors:
- `obHighVolumeColor`, `obLowVolumeColor`, `obBearHighVolumeColor`, `obBearLowVolumeColor`
- `obBullBorderColor`, `obBearBorderColor`
- `obBullFillColor`, `obBearFillColor`
- `volumeTextColor`
---
## 4. Screener Table
- `showScreener`: display the screener table
- `tablePosition`: table position (`Top Left`, `Top Right`, `Bottom Left`, `Bottom Right`)
- `tableSize`: table size (`Small`, `Normal`, `Large`)
The table shows:
- Symbol, Timeframe
- Type and status of Order Block
- Number of retests
- Bullish and bearish volumes
---
## 5. Trend Filters
- EMA as a trend filter (`emaPeriod`, default 223)
- `bullishTrend` if close > EMA
- `bearishTrend` if close < EMA
---
## 6. ATR and Swing Points
- ATR calculated with a customizable period (`atrLength`)
- Swing High/Low for SL/TP calculation
- `f_getSwingTargets` function to calculate SL and TP based on direction
---
## 7. Trade Logic
### Buy Limit on Bullish OB
- Conditions:
- New bullish block
- Uptrend
- RR > threshold (`rr_threshold`)
- SL: `bullishOBPrice * (1 - atr * atrMultiplier)`
- Multiple TPs: TP1 (50%), TP2 (80%), TP3 (100% max)
- Quantity calculation based on percentage risk
### Sell Limit on Bearish OB
- Conditions:
- New bearish block
- Downtrend
- RR > threshold (`rr_threshold`)
- SL: `bearishOBPrice * (1 + atr * atrMultiplier)`
- Multiple TPs: TP1 (50%), TP2 (80%), TP3 (100% max)
- Quantity calculation based on percentage risk
---
## 8. Order Management and Timeout
- Close pending orders after `maxPendingBars` bars
- Close open positions after `maxBarsOpen` bars
- Label management for open orders
---
## 9. Alert Conditions
- `bull_touch`: price inside maximum bullish volume zone
- `bear_touch`: price inside maximum bearish volume zone
- `bull_reject`: confirmation of bullish zone rejection
- `bear_reject`: confirmation of bearish zone rejection
- `new_bull`: new bullish block
- `new_bear`: new bearish block
---
## 10. Level Calculation
- Swing levels based on selected timeframe (`SelectPeriod`)
- `xHigh` and `xLow` for S1 and R1 calculation
- Levels plotted on chart
---
## 11. Take Profit / Stop Loss
- Extended horizontal lines (`extendBars`) to visualize TP and SL
- Customizable colors (`tpColor`, `slColor`)
---
## 12. Notes
- Complete script based on Pine Script v5
- Advanced graphical management with boxes, lines, labels
- Dynamically displays volumes and Order Blocks
- Integrated internal screener
---
### End of Documentation
SuperTrend Optimizer Remastered[CHE] SuperTrend Optimizer Remastered — Grid-ranked SuperTrend with additive or multiplicative scoring
Summary
This indicator evaluates a fixed grid of one hundred and two SuperTrend parameter pairs and ranks them by a simple flip-to-flip return model. It auto-selects the currently best-scoring combination and renders its SuperTrend in real time, with optional gradient coloring for faster visual parsing. The original concept is by KioseffTrading Thanks a lot for it.
For years I wanted to shorten the roughly two thousand three hundred seventy-one lines; I have now reduced the core to about three hundred eighty lines without triggering script errors. The simplification is generalizable to other indicators. A multiplicative return mode was added alongside the existing additive aggregation, enabling different rankings and often more realistic compounding behavior.
Motivation: Why this design?
SuperTrend is sensitive to its factor and period. Picking a single pair statically can underperform across regimes. This design sweeps a compact parameter grid around user-defined lower bounds, measures flip-to-flip outcomes, and promotes the combination with the strongest cumulative return. The approach keeps the visual footprint familiar while removing manual trial-and-error. The multiplicative mode captures compounding effects; the additive mode remains available for linear aggregation.
Originally (by KioseffTrading)
Very long script (~2,371 lines), monolithic structure.
SuperTrend optimization with additive (cumulative percentage-sum) scoring only.
Heavier use of repetitive code; limited modularity and fewer UI conveniences.
No explicit multiplicative compounding option; rankings did not reflect sequence-sensitive equity growth.
Now (remastered by CHE)
Compact core (~380 lines) with the same functional intent, no compile errors.
Adds multiplicative (compounding) scoring alongside additive, changing rankings to reflect real equity paths and penalize drawdown sequences.
Fixed 34×3 grid sweep, live ranking, gradient-based bar/wick/line visuals, top-table display, and an optional override plot.
Cleaner arrays/state handling, last-bar table updates, and reusable simplification pattern that can be applied to other indicators.
What’s different vs. standard approaches?
Baseline: A single SuperTrend with hand-picked inputs.
Architecture differences:
Fixed grid of thirty-four factor offsets across three ATR offsets.
Per-combination flip-to-flip backtest with additive or multiplicative aggregation.
Live ranking with optional “Best” or “Worst” table output.
Gradient bar, wick, and line coloring driven by consecutive trend counts.
Optional override plot to force a specific SuperTrend independent of ranking.
Practical effect: Charts show the currently best-scoring SuperTrend, not a static choice, plus an on-chart table of top performers for transparency.
How it works (technical)
For each parameter pair, the script computes SuperTrend value and direction. It monitors direction transitions and treats a change from up to down as a long entry and the reverse as an exit, measuring the move between entry and exit using close prices. Results are aggregated per pair either by summing percentage changes or by compounding return factors and then converting to percent for comparison. On the last bar, open trades are included as unrealized contributions to ranking. The best combination’s line is plotted, with separate styling for up and down regimes. Consecutive regime counts are normalized within a rolling window and mapped to gradients for bars, wicks, and lines. A two-column table reports the best or worst performers, with an optional row describing the parameter sweep.
Parameter Guide
Factor (Lower Bound) — Starting SuperTrend factor; the grid adds offsets between zero and three point three. Default three point zero. Higher raises distance to price and reduces flips.
ATR Period (Lower Bound) — Starting ATR length; the grid adds zero, one, and two. Default ten. Longer reduces noise at the cost of responsiveness.
Best vs Worst — Ranks by top or bottom cumulative return. Default Best. Use Worst for stress tests.
Calculation Mode — Additive sums percents; Multiplicative compounds returns. Multiplicative is closer to equity growth and can change the leaderboard.
Show in Table — “Top Three” or “All”. Fewer rows keep charts clean.
Show “Parameters Tested” Label — Displays the effective sweep ranges for auditability.
Plot Override SuperTrend — If enabled, the override factor and ATR are plotted instead of the ranked winner.
Override Factor / ATR Period — Values used when override is on.
Light Mode (for Table) — Adjusts table colors for bright charts.
Gradient/Coloring controls — Toggles for gradient bars and wick coloring, window length for normalization, gamma for contrast, and transparency settings. Use these to emphasize or tone down visual intensity.
Table Position and Text Size — Places the table and sets typography.
Reading & Interpretation
The auto SuperTrend plots one line for up regimes and one for down regimes. Color intensity reflects consecutive trend persistence within the chosen window. A small square at the bottom encodes the same gradient as a compact status channel. Optional wick coloring uses the same gradient for maximum contrast. The performance table lists parameter pairs and their cumulative return under the chosen aggregation; positive values are tinted with the up color, negative with the down color. “Long” labels mark flips that open a long in the simplified model.
Practical Workflows & Combinations
Trend following: Use the auto line as your primary bias. Enter on flips aligned with structure such as higher highs and higher lows. Filter with higher-timeframe trend or volatility contraction.
Exits/Stops: Consider conservative exits when color intensity fades or when the opposite line is approached. Aggressive traders can trail near the plotted line.
Override mode: When you want stability across instruments, enable override and standardize factor and ATR; keep the table visible for sanity checks.
Multi-asset/Multi-TF: Defaults travel well on liquid instruments and intraday to daily timeframes. Heavier assets may prefer larger lower bounds or multiplicative mode.
Behavior, Constraints & Performance
Repaint/confirmation: Signals are based on SuperTrend direction; confirmation is best assessed on closed bars to avoid mid-bar oscillation. No higher-timeframe requests are used.
Resources: One hundred and two SuperTrend evaluations per bar, arrays for state, and a last-bar table render. This is efficient for the grid size but avoid stacking many instances.
Known limits: The flip model ignores costs, slippage, and short exposure. Rapid whipsaws can degrade both aggregation modes. Gradients are cosmetic and do not change logic.
Sensible Defaults & Quick Tuning
Start with the provided lower bounds and “Top Three” table.
Too many flips → raise the lower bound factor or period.
Too sluggish → lower the bounds or switch to additive mode.
Rankings feel unstable → prefer multiplicative mode and extend the normalization window.
Visuals too strong → increase gradient transparency or disable wick coloring.
What this indicator is—and isn’t
This is a parameter-sweep and visualization layer for SuperTrend selection. It is not a complete trading system, not predictive, and does not include position sizing, transaction costs, or risk management. Combine with market structure, higher-timeframe context, and explicit risk controls.
Attribution and refactor note: The original work is by KioseffTrading. The script has been refactored from approximately two thousand three hundred seventy-one lines to about three hundred eighty core lines, retaining behavior without compiler errors. The general simplification pattern is reusable for other indicators.
Metadata
Name/Tag: SuperTrend Optimizer Remastered
Pine version: v6
Overlay or separate pane: true (overlay)
Core idea/principle: Grid-based SuperTrend selection by cumulative flip returns with additive or multiplicative aggregation.
Primary outputs/signals: Auto-selected SuperTrend up and down lines, optional override lines, gradient bar and wick colors, “Long” labels, performance table.
Inputs with defaults: See Parameter Guide above.
Metrics/functions used: SuperTrend, ATR, arrays, barstate checks, windowed normalization, gamma-based contrast adjustment, table API, gradient utilities.
Special techniques: Fixed grid sweep, compounding vs linear aggregation, last-bar UI updates, gradient encoding of persistence.
Performance/constraints: One hundred and two SuperTrend calls, arrays of length one hundred and two, label budget, last-bar table updates, no higher-timeframe requests.
Recommended use-cases/workflows: Trend bias selection, quick parameter audits, override standardization across assets.
Compatibility/assets/timeframes: Standard OHLC charts across intraday to daily; liquid instruments recommended.
Limitations/risks: Costs and slippage omitted; mid-bar instability possible; not suitable for synthetic chart types.
Debug/diagnostics: Ranking table, optional tested-range label; internal counters for consecutive trends.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Predicted Funding RatesOverview
The Predicted Funding Rates indicator calculates real-time funding rate estimates for perpetual futures contracts on Binance. It uses triangular weighting algorithms on multiple different timeframes to ensure an accurate prediction.
Funding rates are periodic payments between long and short position holders in perpetual futures markets
If positive, longs pay shorts (usually bullish)
If negative, shorts pay longs (usually bearish)
This is a prediction. Actual funding rates depend on the instantaneous premium index, derived from bid/ask impacts of futures. So whilst it may imitate it similarly, it won't be completely accurate.
This only applies currently to Binance funding rates, as HyperLiquid premium data isn't available. Other Exchanges may be added if their premium data is uploaded.
Methods
Method 1: Collects premium 1-minunute data using triangular weighing over 8 hours. This granular method fills in predicted funding for 4h and less recent data
Method 2: Multi-time frame approach. Daily uses 1 hour data in the calculation, 4h + timeframes use 15M data. This dynamic method fills in higher timeframes and parts where there's unavailable premium data on the 1min.
How it works
1) Premium data is collected across multiple timeframes (depending on the timeframe)
2) Triangular weighing is applied to emphasize recent data points linearly
Tri_Weighing = (data *1 + data *2 + data *3 + data *4) / (1+2+3+4)
3) Finally, the funding rate is calculated
FundingRate = Premium + clamp(interest rate - Premium, -0.05, 0.05)
where the interest rate is 0.01% as per Binance
Triangular weighting is calculated on collected premium data, where recent data receives progressively higher weight (1, 2, 3, 4...). This linear weighting scheme provides responsiveness to recent market conditions while maintaining stability, similar to an exponential moving average but with predictable, linear characteristics
A visual representation:
Data points: ──────────────>
Weights: 1 2 3 4 5
Importance: ▂ ▃ ▅ ▆ █
How to use it
For futures traders:
If funding is trending up, the market can be interpreted as being in a bull market
If trending down, the market can be interpreted as being in a bear market
Even used simply, it allows you to gauge roughly how well the market is performing per funding. It can basically be gauged as a sentiment indicator too
For funding rate traders:
If funding is up, it can indicate a long on implied APR values
If funding is down, it can indicate a short on implied APR values
It also includes an underlying APR, which is the annualized funding rate. For Binance, it is current funding * (24/8) * 365
For Position Traders: Monitor predicted funding rates before entering large positions. Extremely high positive rates (>0.05% for 8-hour periods) suggest overleveraged longs and potential reversal risk. Conversely, extreme negative rates indicate shorts dominance
Table:
Funding rate: Gives the predicted funding rate as a percentage
Current premium: Displays the current premium (difference between perpetual futures price and the underlying spot) as a percentage
Funding period: You can choose between 1 hour funding (HyperLiquid usually) and 8 hour funding (Binance)
APR: Underlying annualized funding rate
What makes it original
Whilst some predicted funding scripts exist, some aren't as accurate or have gaps in data. And seeing as funding values are generally missing from TV tickers, this gives traders accessibility to the script when they would have to use other platforms
Notes
Currently only compatible with symbols that have Binance USDT premium indices
Optimal accuracy is found on timeframes that are 4H or less. On higher timeframes, the accuracy drops off
Actual funding rates may differ
Inputs
Funding Period: Choose between "8 Hour" (standard Binance cycle) or "1 Hour" (divides the 8-hour rate by 8 for granular comparison)
Plot Type: Display as "Funding Rate" (percentage per interval) or "APR" (annualized rate calculated as 8-hour rate × 3 × 365)
Table: Toggle the information table showing current funding rate, premium, funding period, and APR in the top-right corner
Positive Colour: Sets the colour for positive funding rates where longs pay shorts (default: #00ffbb turquoise)
Negative Colour: Sets the colour for negative funding rates where shorts pay longs (default: red)
Table Background: Controls the background colour and transparency of the information table (default: transparent dark blue)
Table Text Colour: Sets the colour for all text labels in the information table (default: white)
Table Text Size: Controls font size with options from Tiny to Huge, with Small as the default balance of readability and space
ATH & ATL Distances PROIndicator Description:
ATH & ATL Distances PROThis Pine Script indicator, built on version 6, helps traders visualize and monitor the percentage distances from the current closing price to the rolling All-Time High (ATH) and All-Time Low (ATL) over customizable lookback periods.
It's designed for overlay on your TradingView charts, providing a clear table display and optional horizontal lines with labels for quick reference.
This tool is ideal for assessing market pullbacks, rallies, or potential reversal points based on recent price extremes.
Key Features:
Customizable Lookbacks: Three adjustable periods (default: 50, 150, 250 bars) to calculate short-, medium-, and long-term highs/lows.
Percentage Distances: Shows how far the current price is from ATH (negative percentage if below) and ATL (positive if above).
Visual Aids: Optional dashed lines for ATH/ATL levels extending a set number of bars, with grouped labels to avoid clutter if levels overlap.
Info Table: A persistent table summarizing lookbacks, distances, and prices, with color-coded cells for easy reading (red for ATH/dist to top, green for ATL/dist to bottom).
User Controls: Toggle rows, lines, table position, and colors via inputs for a personalized experience.
How It Works (Logic Explained):
The script uses TradingView's built-in functions like ta.highest() and ta.lowest() to find the highest high and lowest low within each lookback period (capped at available bars to handle early chart data). It then computes:Distance to ATH: ((close - ATH) / ATH) * 100 – Negative values indicate the price is below the high.
Distance to ATL: ((close - ATL) / ATL) * 100 – Positive values show the price is above the low.
Unique ATH/ATL prices across lookbacks are grouped into arrays to prevent duplicate lines/labels; if prices match, labels concatenate details (e.g., "50 Bars HH\n150 Bars HH").
Drawings (lines and labels) are efficiently managed by redrawing only on the latest bar to optimize performance. The table updates in real-time on every bar close.How to Use:Add the indicator to your chart via TradingView's "Indicators" menu (search for "ATH & ATL Distances PRO").
Customize inputs:
Adjust lookback periods (1-1000 bars) for your timeframe (e.g., shorter for intraday, longer for daily/weekly).
Enable/disable lines, rows, or change colors/table position to suit your setup.
Interpret the table:
"DIST. TO TOP" (red): Percentage drop needed to reach ATH – useful for spotting overbought conditions.
"DIST. TO BOT." (green): Percentage rise from ATL – helpful for identifying support levels.
If lines are enabled, hover over labels for details on which lookbacks share the level.
Best on any symbol/timeframe; combine with other indicators like RSI or moving averages for confluence.
This script is open-source and free to use/modify. No external dependencies – it runs natively on TradingView. Feedback welcome; if you find it useful, a like or comment helps!
3 Day Lookback [TFO]This 3 Day Lookback indicator aims to display key information about price with respect to its previous 3 day highs and lows. It was built with the intention of being compact in order to not take up a lot of chart space.
The core component of this indicator is the table. From this table, we look at price with respect to the ranges from 1, 2, and 3 days ago, and assign it a color code. By default, we use 🟢, 🟡, and 🔴 to indicate that price is above, stuck inside, or below these ranges, respectively.
Take the following chart as an example. We manually drew these boxes to encompass the range of each day, from high to low. The leftmost box from 3 days ago is colored red to reflect the fact that price is below that day's low. This is why the table indicates a state of 🔴 for the range from 3 days ago. Then, the following two days are colored yellow to indicate that price is currently trading inside their ranges, which is why the state for both of those days is indicated as 🟡 in the table.
In a similar example below, we can see that price is clearly above the high from 3 days ago and the high from 2 days ago, which is reflected in the table with a state of 🟢 for both. However, since price is currently trading within the range from 1 day ago, it is assigned a state of 🟡 in the table.
As you may have noticed in the above examples, each day's high and low is indicated with labels (ex. "2H" and "2L" for the high and low from 2 days ago). These are optional and can be turned off in the indicator's settings. The lines tracking the previous 3 day highs and lows may also be turned off so that you're just left with the table, as is shown in the below example.
With this minimalistic table, users can get a quick glance at how price is trading with respect to the last few days of price action. Hopefully this proves useful for mobile users as well, since the indicator can be reduced to a simple table that doesn't take up much chart space.
Volume, Volatility, and Momentum Metrics IndicatorVolume, Volatility, and Momentum Metrics Indicator
Welcome to our comprehensive TradingView indicator designed to provide traders with essential volume, volatility, and momentum metrics. This powerful tool is ideal for traders looking to enhance their market analysis by visualizing key indicators in a concise and easy-to-read format.
Key Features
1. Volume Metrics:
• Daily Dollar Volume: Understand the monetary value of the traded volume each day.
• Relative Volume (RVOL) Day: Compare the current volume to the previous day’s volume to gauge trading activity.
• Relative Volume (RVOL) 30D: Assess the average trading volume over the past 30 days.
• Relative Volume (RVOL) 90D: Evaluate the average trading volume over the past 90 days.
2. Volatility and Momentum Metrics:
• Average Daily Range (ADR) %: Measure the average daily price range as a percentage of the current price.
• Average True Range (ATR): Track the volatility by calculating the average true range over a specified period.
• Relative Strength Index (RSI): Determine the momentum by analyzing the speed and change of price movements.
3. Customizable Table Positions:
• Place the volume metrics table and the volatility/momentum metrics table in the bottom-left or bottom-right corners of your chart for optimal visibility and convenience.
Why Use This Indicator?
• Enhanced Market Analysis: Quickly assess volume trends, volatility, and momentum to make informed trading decisions.
• User-Friendly Interface: The clear and concise tables provide at-a-glance information without cluttering your chart.
• Customization Options: Choose where to display the tables to suit your trading style and preferences.
How It Works
This indicator uses advanced calculations to provide real-time data on trading volume, price range, and momentum. By displaying this information in separate, neatly organized tables, traders can easily monitor these critical metrics without diverting their focus from the main chart.
Who Can Benefit?
• Day Traders: Quickly gauge intraday trading activity and volatility.
• Swing Traders: Analyze longer-term volume trends and momentum to identify potential trade setups.
• Technical Analysts: Utilize comprehensive metrics to enhance technical analysis and trading strategies.
Get Started
To add this powerful indicator to your TradingView chart, simply search for “Volume, Volatility, and Momentum Metrics” in the TradingView public library, or use the provided link to add it directly to your chart. Enhance your trading analysis and make more informed decisions with our comprehensive TradingView indicator.
Overbought / Oversold Screener## Introduction
**The Versatile RSI and Stochastic Multi-Symbol Screener**
**Unlock a wealth of trading opportunities with this customizable screener, designed to pinpoint potential overbought and oversold conditions across 17 symbols, with alert support!**
## Description
This screener is suitable for tracking multiple instruments continuously.
With the screener, you can see the instant RSI or Stochastic values of the instruments you are tracking, and easily catch the moments when they are overbought / oversold according to your settings.
The purpose of the screener is to facilitate the continuous tracking of multiple instruments. The user can track up to 17 different instruments in different time intervals. If they wish, they can set an alarm and learn overbought oversold according to the values they set for the time interval of the instruments they are tracking.**
Key Features:
Comprehensive Analysis:
Monitors RSI and Stochastic values for 17 symbols simultaneously.
Automatically includes the current chart's symbol for seamless integration.
Supports multiple timeframes to uncover trends across different time horizons.
Personalized Insights:
Adjust overbought and oversold thresholds to align with your trading strategy.
Sort results by symbol, RSI, or Stochastic values to prioritize your analysis.
Choose between Automatic, Dark, or Light mode for optimal viewing comfort.
Dynamic Visual Cues:
Instantly highlights oversold and overbought symbols based on threshold levels.
Timely Alerts:
Stay informed of potential trading opportunities with alerts for multiple oversold or overbought symbols.
## Settings
### Display
**Timeframe**
The screener displays the values according to the selected timeframe. The default timeframe is "Chart". For example, if the timeframe is set to "15m" here, the screener will show the RSI and stochastic values for the 15-minute chart.
** Theme **
This setting is for changing the theme of the screener. You can set the theme to "Automatic", "Dark", or "Light", with "Automatic" being the default value. When the "Automatic" theme is selected, the screener appearance will also be automatically updated when you enable or disable dark mode from the TradingView settings.
** Position **
This option is for setting the position of the table on the chart. The default setting is "middle right". The available options are (top, middle, bottom)-(left, center, right).
** Sort By **
This option is for changing the sorting order of the table. The default setting is "RSI Descending". The available options are (Symbol, RSI, Stoch)-(Ascending, Descending).
It is important to note that the overbought and oversold coloring of the symbols may also change when the sorting order is changed. If RSI is selected as the sorting order, the symbols will be colored according to the overbought and oversold threshold values specified for RSI. Similarly, if Stoch is selected as the sorting order, the symbols will be colored according to the overbought and oversold threshold values specified for Stoch.
From this perspective, you can also think of the sorting order as a change in the main indicator.
### RSI / Stochastic
This area is for selecting the parameters of the RSI and stochastic indicators. You can adjust the values for "length", "overbought", and "oversold" for both indicators according to your needs. The screener will perform all RSI and stochastic calculations according to these settings. All coloring in the table will also be according to the overbought and oversold values in these settings.
### Symbols
The symbols to be tracked in the table are selected from here. Up to 16 symbols can be selected from here. Since the symbol in the chart is automatically added to the table, there will always be at least 1 symbol in the table. Note that the symbol in the chart is shown in the table with "(C)". For example, if SPX is open in the chart, it is shown as SPX(C) in the table.
## Alerts
The screener is capable of notifying you with an alarm if multiple symbols are overbought or oversold according to the values you specify along with the desired timeframe. This way, you can instantly learn if multiple symbols are overbought or oversold with one alarm, saving you time.
Crypto Map Dashboard v1.0🔰Overview
Charts are an essential part of working with data, as they are a way to condense large amounts of data into an easy to understand format. Visualizations of data can bring out insights to someone looking at the data for the first time, as well as convey findings to others who won’t see the raw data. There are countless chart types out there, each with different use cases. Often, the most difficult part of creating a data visualization is figuring out which chart type is best for the task at hand.
What are the types of metrics, features, or other variables that you plan on plotting? Although it depended on some multiple factors!
But my choices of the chart type for this Crypto datas was Pie chart or Donut char for crypto dominances ,and Colum (Bar) chart for Total MarketCaps .
The audiences that I plan on presenting this for them could be all tradingviewrs , especially crypto lovers ,or those who just aim to have an initial exploration for themselves ,like me!
so this indicator mostly could be an educational indicator script for pine coders !
We can use the " Crypto Map Dashboard " indicator to Get an quick overview of the crypto market and monitor where the smart money Flow changing by comparing the dominances and totals Caps .
In general, it consists of 4 parts:
✅1 =>> Table1 : If you like to see and compare and monitor the changes of dominances of (Bitcoin, Ethereum, Usdt , Usdc , etc.) and their market cap in different times you can see the table on The upper-right corner.
✅2 =>> Table2: Also, in the table lower-right corner, you can see the changes of the totals(Total, Total2 , Total3 and TotalDefi) in the same time periods.
✅3 =>> pie chart or donut chart: By viewing this , you understand better about Table1 Datas, that it depicts exactly how Dominance is distributed and specialized.
✅4 =>> column chart (bar chart) : And in the last you can clearly compare the total marketcaps and see how far they are from their ATHs.
You also can even notice the entry and exit of liquidity from the crypto market!
I must also mention that I am definitely still a beginner compared to more experienced pine coders, and there may be some bugs in my codes and calculations, but I am an open person and I welcome your comments ,Also Let me know if you have any questions.
Lots of Love to all tradingviewers and pineCoder ,Cheers!💚❤️💙
CanvasLibrary "Canvas"
A library implementing a kind of "canvas" using a table where each pixel is represented by a table cell and the pixel color by the background color of each cell.
To use the library, you need to create a color matrix (represented as an array) and a canvas table.
The canvas table is the container of the canvas, and the color matrix determines what color each pixel in the canvas should have.
max_canvas_size() Function that returns the maximum size of the canvas (100). The canvas is always square, so the size is equal to rows (as opposed to not rows multiplied by columns).
Returns: The maximum size of the canvas (100).
get_bg_color(color_matrix) Get the current background color of the color matrix. This is the default color used when erasing pixels or clearing a canvas.
Parameters:
color_matrix : The color matrix.
Returns: The current background color.
get_fg_color(color_matrix) Get the current foreground color of the color matrix. This is the default color used when drawing pixels.
Parameters:
color_matrix : The color matrix.
Returns: The current foreground color.
set_bg_color(color_matrix, bg_color) Set the background color of the color matrix. This is the default color used when erasing pixels or clearing a canvas.
Parameters:
color_matrix : The color matrix.
bg_color : The new background color.
set_fg_color(color_matrix, fg_color) Set the foreground color of the color matrix. This is the default color used when drawing pixels.
Parameters:
color_matrix : The color matrix.
fg_color : The new foreground color.
color_matrix_rows(color_matrix, rows) Function that returns how many rows a color matrix consists of.
Parameters:
color_matrix : The color matrix.
rows : (Optional) The number of rows of the color matrix. This can be omitted, but if used, can speed up execution.
Returns: The number of rows a color matrix consists of.
pixel_color(color_matrix, x, y, rows) Get the color of the pixel at the specified coordinates.
Parameters:
color_matrix : The color matrix.
x : The X coordinate for the pixel. Must be between 0 and "color_matrix_rows() - 1".
y : The Y coordinate for the pixel. Must be between 0 and "color_matrix_rows() - 1".
rows : (Optional) The number of rows of the color matrix. This can be omitted, but if used, can speed up execution.
Returns: The color of the pixel at the specified coordinates.
draw_pixel(color_matrix, x, y, pixel_color, rows) Draw a pixel at the specified X and Y coordinates. Uses the specified color.
Parameters:
color_matrix : The color matrix.
x : The X coordinate for the pixel. Must be between 0 and "color_matrix_rows() - 1".
y : The Y coordinate for the pixel. Must be between 0 and "color_matrix_rows() - 1".
pixel_color : The color of the pixel.
rows : (Optional) The number of rows of the color matrix. This can be omitted, but if used, can speed up execution.
draw_pixel(color_matrix, x, y, rows) Draw a pixel at the specified X and Y coordinates. Uses the current foreground color.
Parameters:
color_matrix : The color matrix.
x : The X coordinate for the pixel. Must be between 0 and "color_matrix_rows() - 1".
y : The Y coordinate for the pixel. Must be between 0 and "color_matrix_rows() - 1".
rows : (Optional) The number of rows of the color matrix. This can be omitted, but if used, can speed up execution.
erase_pixel(color_matrix, x, y, rows) Erase a pixel at the specified X and Y coordinates, replacing it with the background color.
Parameters:
color_matrix : The color matrix.
x : The X coordinate for the pixel. Must be between 0 and "color_matrix_rows() - 1".
y : The Y coordinate for the pixel. Must be between 0 and "color_matrix_rows() - 1".
rows : (Optional) The number of rows of the color matrix. This can be omitted, but if used, can speed up execution.
init_color_matrix(rows, bg_color, fg_color) Create and initialize a color matrix with the specified number of rows. The number of columns will be equal to the number of rows.
Parameters:
rows : The number of rows the color matrix should consist of. This can be omitted, but if used, can speed up execution. It can never be greater than "max_canvas_size()".
bg_color : (Optional) The initial background color. The default is black.
fg_color : (Optional) The initial foreground color. The default is white.
Returns: The array representing the color matrix.
init_canvas(color_matrix, pixel_width, pixel_height, position) Create and initialize a canvas table.
Parameters:
color_matrix : The color matrix.
pixel_width : (Optional) The pixel width (in % of the pane width). The default width is 0.35%.
pixel_height : (Optional) The pixel width (in % of the pane height). The default width is 0.60%.
position : (Optional) The position for the table representing the canvas. The default is "position.middle_center".
Returns: The canvas table.
clear(color_matrix, rows) Clear a color matrix, replacing all pixels with the current background color.
Parameters:
color_matrix : The color matrix.
rows : The number of rows of the color matrix. This can be omitted, but if used, can speed up execution.
update(canvas, color_matrix, rows) This updates the canvas with the colors from the color matrix. No changes to the canvas gets plotted until this function is called.
Parameters:
canvas : The canvas table.
color_matrix : The color matrix.
rows : The number of rows of the color matrix. This can be omitted, but if used, can speed up execution.
logLibrary "log"
A Library to log and display messages in a table, with different colours.
The log consists of 3 columns:
Bar Index / Message / Log
Credits
QuantNomad - for his idea on logging messages as Error/Warnings and displaying the color based on the type of the message
setHeader(_t, _location, _header1, _header2, _header3, _halign, _valign, _size) Sets the header for the table to be used for displaying the logs.
Parameters:
_t : table, table to be used for printing
_location : string, Location of the table.
_header1 : string, the name to put into the Index Queue Header. Default is 'Bar #'
_header2 : string, the name to put into the Message Queue Header. Default is 'Message'
_header3 : string, the name to put into the Log Queue Header. Default is 'Log'
_halign : string, the horizontal alignment of header. Options - Left/Right/Center
_valign : string, the vertical alignment of header. Options - Top/Bottom/Center
_size : string, the size of text of header. Options - Tiny/Small/Normal/Large/Huge/Auto
Returns: Void
initHeader(_location, _rows, _header1, _header2, _header3, _halign, _valign, _size, _frameBorder, _cellBorder) Creates the table for logging.
3 columns will be displayed.
Bar Index Q / Message Q / Log Q
Parameters:
_location : string, Location of the table.
_rows : int, table size, excluding the header. Default value is 40.
_header1 : string, the name to put into the Index Queue Header. Default is 'Bar #'
_header2 : string, the name to put into the Message Queue Header. Default is 'Message'
_header3 : string, the name to put into the Log Queue Header. Default is 'Log'
_halign : string, the horizontal alignment of header. Options - Left/Right/Center
_valign : string, the vertical alignment of header. Options - Top/Bottom/Center
_size : string, the size of text of header. Options - Tiny/Small/Normal/Large/Huge/Auto
_frameBorder : int, table Frame BorderWidth. Default value is 1.
_cellBorder : int, table Cell Borders Width, Default value is 2.
Returns: table
init(_rows) Initiate array variables for logging.
Parameters:
_rows : int, table size, excluding the header. Default value is 40.
Returns: tuple, arrays - > error code Q, bar_index Q, Message Q, Log Q
log(_ec, _idx, _1, _2, _m1, _m2, _code, _prefix, _suffix) logs a message to logging queue.
Parameters:
_ec : int , Error/Codes (1-7) for colouring.
Default Colour Code is 1 - Gray, 2 - Orange, 3 - Red, 4 - Blue, 5 - Green, 6 - Cream, 7 - Offwhite
_idx : int , bar index Q. The index of current bar is logged automatically
you can add before and after this index value, whatever you choose to, via the _prefix and _suffix variables.
_1 : string , Message Q.
_2 : string , Log Q
_m1 : string, message needed to be logged to Message Q
_m2 : string, detailed log needed to be logged to Log Q
_code : int, Error/Code to be assigned. Default code is 1.
_prefix : string, prefix to Bar State Q message
_suffix : string, suffix to Bar State Q message
Order of logging would be Bar Index Q / Message Q / Log Q
Returns: void
resize(_ec, _idx, _1, _2, _rows) Resizes the all messaging queues.
a resize will delete the existing table, so a new header/table has to be initiated after the resize.
This is because pine doesnt allow changing the table dimensions once they have been recreated.
If size is decreased then removes the oldest messages
Parameters:
_ec : int , Error/Codes (1-7) for colouring.
_idx : int , bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_rows : int, the new size needed for the queue. Default value is 40.
Returns: void
print(_t, _ec, _idx, _1, _2, halign, halign, _size) Prints Bar Index Q / Message Q / Log Q
Parameters:
_t : table, table to be used for printing
_ec : int , Error/Codes (1-7) for colouring.
Default Colour Code is 1 - Gray, 2 - Orange, 3 - Red, 4 - Blue, 5 - Green, 6 - Cream, 7 - Offwhite
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
halign : string, the horizontal alignment of all message column. Options - Left/Right/Center
halign : string, the vertical alignment of all message column. Options - Top/Bottom/Center
_size : string, the size of text across the table, excepr the headers. Options - Tiny/Small/Normal/Large/Huge/Auto
Returns: void
printx(_t, _idx, _1, _2, _ec, _fg, _bg, _halign, _valign, _size) Prints Bar Index Q / Message Q / Log Q, but with custom options to format the table and colours
Parameters:
_t : table, table to be used for printing
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_ec : int , Error/Codes (1-7) for colouring.
_fg : color , Color array specifying colours for foreground. Maximum length is seven. Need not provide all seven, but atleast one. If not enough provided then last colour in the array is used for missing codes
_bg : color , Same as fg.
_halign : string, the horizontal alignment of all message column. Options - Left/Right/Center
_valign : string, the vertical alignment of all message column. Options - Top/Bottom/Center
_size : string, the size of text across the table, excepr the headers. Options - Tiny/Small/Normal/Large/Huge/Auto
Returns: void
flush(_t, _idx, _1, _2, _ec) Clears queues of existing messages, filling with blanks and 0
Parameters:
_t : table, table to be flushed
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_ec : int , Error/Codes (1-7) for colouring.
Returns: void.
erase(_idx, _1, _2, _ec) Deletes message queue and the table used for displaying the queue
Parameters:
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_ec : int , Error/Codes (1-7) for colouring.
Returns: void
Crypto Perp Calc v1Advanced Perpetual Position Calculator for TradingView
Description
A comprehensive position sizing and risk management tool designed specifically for perpetual futures trading. This indicator eliminates the confusion of calculating leveraged positions by providing real-time position metrics directly on your chart.
Key Features:
Interactive Price Selection: Click directly on chart to set entry, stop loss, and take profit levels
Accurate Lot Size Calculation: Instantly calculates the exact position size needed for your margin and leverage
Multiple Entry Support: DCA into positions with up to 3 entry points with customizable allocation
Multiple Take Profit Levels: Scale out of positions with up to 3 TP targets
Comprehensive Risk Metrics: Shows dollar P&L, account risk percentage, and liquidation price
Visual Risk/Reward: Color-coded boxes and lines display your trade setup clearly
Real-time Info Table: All critical position data in one organized panel
Perfect for traders using perpetual futures who need precise position sizing with leverage.
---------
How to Use
Quick Start (3 Clicks)
1. Add the indicator to your chart
2. Click three times when prompted:
First click: Set your entry price
Second click: Set your stop loss
Third click: Set your take profit
3. Read the TOTAL LOTS value from the info table (highlighted in yellow)
4. Use this lot size in your exchange when placing the trade
Detailed Setup
Step 1: Configure Your Account
Enter your account balance (total USDT in account)
Set your margin amount (how much USDT to risk on this trade)
Choose your leverage (1x to 125x)
Select Long or Short position
Step 2: Set Price Levels
Main levels use interactive clicking (Entry, SL, TP)
For multiple entries or TPs, use the settings panel to manually input prices and percentages
Step 3: Read the Results
The info table shows:
TOTAL LOTS - The position size to enter on your exchange
Margin Used - Your actual capital at risk
Notional - Total position value (margin × leverage)
Max Risk - Dollar amount you'll lose at stop loss
Total Profit - Dollar amount you'll gain at take profit
R:R Ratio - Risk to reward ratio
Account Risk - Percentage of account at risk
Liquidation - Price where position gets liquidated
Step 4: Advanced Features (Optional)
Multiple Entries (DCA):
Enable "Use Multiple Entries"
Set up to 3 entry prices
Allocate percentage for each (must total 100%)
See individual lot sizes for each entry
Multiple Take Profits:
Enable "Use Multiple TPs"
Set up to 3 TP levels
Allocate percentage to close at each level (must total 100%)
View profit at each target
Visual Elements
Blue lines/labels: Entry points
Red lines/labels: Stop loss
Green lines/labels: Take profit targets
Colored boxes: Visual risk (red) and reward (green) zones
Info table: Can be positioned anywhere on screen
Alerts
Set price alerts for:
Entry zones reached
Stop loss approached
Take profit levels hit
Works with TradingView's alert system
Tips for Best Results
Always verify the lot size matches your intended risk
Check the liquidation price stays far from your stop loss
Monitor the account risk percentage (recommended: keep under 2-3%)
Use the warning indicators if risk exceeds margin
For quick trades, use single entry/TP; for complex strategies, use multiple levels
Example Workflow
Find your trade setup using your analysis
Add this indicator and click to set levels
Check risk metrics in the table
Copy the TOTAL LOTS value
Enter this exact position size on your exchange
Set alerts for key levels if desired
This tool bridges the gap between TradingView charting and exchange execution, ensuring your position sizing is always accurate when trading with leverage.
Disclaimer, this was coded with help of AI, double check calculations if they are off.
cd_SMT_Sweep_CISD_CxGeneral
This indicator is designed to show trading opportunities after sweeps of higher timeframe (HTF) highs/lows and, if available, Smart Money Technique (SMT) divergence with a correlated asset, followed by confirmation from a lower timeframe change in state delivery (CISD).
Users can track SMT, Sweep, and CISD levels across nine different timeframes.
________________________________________
Usage and Details
Commonly correlated timeframes are available in the menu by default. Users can also enter other compatible timeframes manually if necessary.
The indicator output is presented as:
• A summary table
• Display on HTF candles
• CISD levels shown as lines
Users can disable any of these from the menu.
Presentations of selected timeframes are displayed only if they are greater than or equal to the active chart timeframe.
From the Show/Hide section, you can control the display of:
• SMT table
• Sweep table
• HTF candles
• CISD levels
• HTF boxes aligned with the active timeframe
________________________________________
SMT Analysis
To receive analysis, users must enter correlated assets in the menu (or adjust them as needed).
If asset X is paired with correlated asset Y, then a separate entry for Y correlated with X is not required.
Four correlation pairs are included by default. Users should check them according to their broker/exchange or define new ones.
Checkboxes at the beginning of each row allow activation/deactivation of pairs.
SMT analysis is performed on the last three candles of each selected HTF.
If one asset makes a new high while the correlated one does not (or one makes a new low while the other does not), this is considered SMT and will be displayed both in the table and on the chart.
Charts without defined correlated assets will not display an SMT table.
________________________________________
Sweep Analysis
For the selected timeframes, the current candle is compared with the previous one.
If price violates the previous level and then pulls back behind it, this is considered a sweep. It is displayed in both the table and on the chart.
Within correlated pairs, the analysis is done separately and shown only in the table.
Example with correlated and non-correlated pairs:
• In the table, X = false, ✓ = true.
• The Sweep Table has two columns for Bullish and Bearish results.
• For correlated pairs, both values appear side by side.
• For undefined pairs, only the active asset is shown.
Example 1: EURUSD and GBPUSD pair
• If both sweep → ✓ ✓
• If one sweeps, the other does not → ✓ X
• If neither sweeps → X X
Example 2: AUDUSD with no correlated pair defined
• If sweep → ✓
• If no sweep → X
________________________________________
HTF Candles
For every HTF enabled by the user, the last three candles (including the current one) are shown on the chart.
SMT and sweep signals are marked where applicable.
________________________________________
CISD Levels
For the selected timeframes, bullish and bearish CISD levels are plotted on the chart.
________________________________________
HTF Boxes
HTF boxes aligned with the active timeframe are displayed on the chart.
Box border colors change according to whether the active HTF candle is bullish or bearish.
________________________________________
How to Read the Chart?
Let’s break down the example below:
• Active asset: Nasdaq
• Correlated asset: US500 (defined in the menu, confirmed in the table bottom row)
• Active timeframe: H1 → therefore, the HTF box is shown for Daily
• Since a correlated pair is defined, the indicator runs both SMT and Sweep analysis for the selected timeframes. Without correlation, only Sweep analysis would be shown.
Table is prepared for H1 and higher timeframes (as per user selection and active TF).
Observations:
• SMT side → H1 timeframe shows a bearish warning
• Sweep side → Bearish column shows X and ✓
o X → no sweep on Nasdaq
o ✓ → sweep on US500
Meaning: US500 made a new high (+ sweep) while Nasdaq did not → SMT formed.
The last column of the table shows the compatible LTF for confirmation.
For H1, it suggests checking the 5m timeframe.
On the chart:
• CISD levels for selected timeframes are drawn
• SMT line is marked on H1 candles
• Next step: move to 5m chart for CISD confirmation before trading (with other confluences).
Similarly, the Daily row in the table shows a Bullish Sweep on US500.
________________________________________
Alerts
Two alert options are available:
1. Activate Alert (SMT + Sweep):
Triggers if both SMT and Sweep occur in the selected timeframes. (Classic option)
2. Activate Alert (Sweep + Sweep):
Triggers if sweeps occur in both assets of a correlated pair at the same timeframe.
Interpretation:
If SMT + Sweep are already present on higher timeframes, and simultaneous sweeps appear on lower timeframes, this may indicate a strong directional move.
Of course, this must be validated with CISD and other confluences.
________________________________________
HTF CISD Levels
Although CISD levels act as confirmation levels in their own timeframe, observing how price reacts to HTF CISD levels can provide valuable insights for intraday analysis.
POIs overlapping with these levels may be higher priority.
________________________________________
What’s Next in Future Versions?
• Completed CISD confirmations
• Additional alert options
• Plus your feedback and suggestions
________________________________________
Final Note
I’ll be happy to hear your opinions and feedback.
Happy trading!